×

waitpid wait

为什么waitpid返回?muduo CountDownLatch wait实现能不能换成if

admin admin 发表于2022-05-09 22:07:25 浏览114 评论0

抢沙发发表评论

为什么waitpid返回

-1 是出现错误的返回值,我就不说了。0 只有当你的 waitpid 第三个参数包含 WNOHANG 的时候才有可能。比如pid = fork();if (pid == 0) {//child processwhile(1) {printf(“aaa\n“);sleep(1);}} else {// parentoption = 0;result = waitpid(pid, NULL, option);。。。。。}上面的代码,由于子进程永远不会结束(除非它被kill),父进程会一直停在 waitpid 那个系统调用,等待子进程结束 (当子进程结束后, waitpid 的返回值等于子进程 pid)。但是如果 option=WNOHANG; 父进程不会停在 waitpid 那里, waitpid 会立刻返回 0 ,表示被等待的子进程并没有结束。

muduo CountDownLatch wait实现能不能换成if

不行,因为有spurious wakeup,不理解你为什么会“理解不会有spurious wakeup”,spurious wakeup就是没人notify线程自己就醒了,随时可能发生(C++标准不关心在具体什么平台上什么情形下会假醒,只是允许假醒,所以不能假定),不会等到你count降到0才开始;而notify造成的唤醒就不是spurious wakeup是真·wakeup了。你那段关于“不会有spurious wakeup”的分析是完全错误的。

fifa14画质怎么调

打开游戏如何设置分辨率呢,其实这款游戏的分辨率可以在游戏外面的fifaconfig.exe插件设置,相当于针对该游戏的画面设置软件。分别在游戏根目录找到:D:\FIFA14\game\fifasetup 找到fifaconfig.exe插件,打开它。记得把环境安装齐全,这里可以搜索游戏环境包,打包安装就好。如果你的机器够好的话,resolution是设置成你显示器的分辨率如我的笔记本:1366x768full screenrendering quality:highmsaa options:4xframe rate :60就好Wait for Vsync : 打开3代的lod补丁好像也支持,大家可以下载自己测试。重启计算机然后进入游戏就好了,试试吧。