在C中暂停一下线程

时间:2013-06-24 10:09:07

标签: c multithreading sockets time sleep

我如何在C应用程序中睡1秒? 我想断开套接字,所以我想睡一会儿并触发超时。在Java中它是

了Thread.sleep(1000);

非常感谢

3 个答案:

答案 0 :(得分:5)

C规范并不真正涵盖线程,因此您需要一个特定于平台的线程。

答案 1 :(得分:4)

sleep - 睡眠指定的秒数。

usleep - 暂停执行微秒间隔。

unsigned int sleep(unsigned int seconds);
int usleep(useconds_t usec);

sleep会在几秒钟内获取参数,而usleep会以毫秒为单位。

答案 2 :(得分:2)

我假设你在Linux上。

请阅读Advanced Linux Programming

您想使用sleep(3)功能(或nanosleep(2)系统调用)。

您可能还需要了解多路复用系统调用,例如poll(2)

另见intro(2)手册页。