C组件中的wait语句?

C组件中的wait语句?,c,wait,C,Wait,c-component中有wait语句吗?例如,等待0.5秒后再继续此过程 谢谢 在POSIX中有 usleep(500); 及 请参阅usleep(3)和nanosleep(2)的手册编辑:nanosleep现在似乎是一条路要走,usleep甚至在POSIX.2008中根据其主页被弃用 对于Windows,API中提供了此函数 Sleep(500); 看看它的页面。它休眠指定的毫秒数 POSIX中也提供睡眠功能,不同之处在于参数指定进程应睡眠的秒数,而不是毫秒数。总结并纠正Johannes

c-component中有wait语句吗?例如,等待0.5秒后再继续此过程

谢谢

在POSIX中有

usleep(500);


请参阅
usleep(3)
nanosleep(2)
的手册编辑
nanosleep
现在似乎是一条路要走,
usleep
甚至在
POSIX.2008
中根据其主页被弃用

对于Windows,API中提供了此函数

Sleep(500);

看看它的页面。它休眠指定的毫秒数

POSIX中也提供睡眠功能,不同之处在于参数指定进程应睡眠的秒数,而不是毫秒数。

总结并纠正Johannes Weiss帖子(非德语键盘,抱歉)中的一个小问题:

在老式的POSIX中,可以使用usleep()函数,该函数接受睡眠微秒数作为无符号整数参数。因此,要睡半秒钟,你可以打电话:

#include <unistd.h>
usleep(500000); /* Five hundred thousand microseconds is half a second. */
#包括
美国LEEP(500000);/*五十万微秒是半秒*/
对于较新的POSIX风格的程序(我的Gentoo Linux box手册页上说它是POSIX.1-2001),您可以使用nanosleep(),它需要指向保存休眠周期的结构的指针。睡半秒钟会像这样:

#include <time.h>
struct timespec t;
t.tv_sec = 0;
t.tv_nsec = 500000000; /* Five hundred million nanoseconds is half a second. */
nanosleep(&t, NULL); /* Ignore remainder. */
#包括
结构timespect;
t、 tv_sec=0;
t、 tv_nsec=500000000;/*五亿纳秒是半秒*/
奈米睡眠(&t,空);/*忽略余数*/

nanosleep()的第二个参数称为“rem”,如果睡眠被某种方式中断,它将接收剩余的时间。为了简单起见,我在这里将其保留为NULL。您可以在rem(接近)为零之前进行循环,以确保您真正进入睡眠状态,而不受任何干扰。

您为什么操作系统编程?C组件是什么意思?请注意,如果同时使用alarm(),则使用sleep()可能无法按预期工作。
#include <time.h>
struct timespec t;
t.tv_sec = 0;
t.tv_nsec = 500000000; /* Five hundred million nanoseconds is half a second. */
nanosleep(&t, NULL); /* Ignore remainder. */