主线程中的nanosleep()是否会影响其他线程?

时间:2016-10-18 22:07:38

标签: c multithreading unix

我的问题是关于c unix中的函数nanosleep。如果我在nanosleep函数中放置main,其他线程会受到影响吗?

1 个答案:

答案 0 :(得分:3)

不,只有“当前”主题被暂停。

main()函数在程序的主线程中运行,用nanosleep()挂起它只会挂起主线程,所有其他线程将继续正常执行。

来自nanosleep(2)手册页

  

nanosleep()暂停执行调用线程,直到执行任何操作          至少* req中指定的时间已经过去,或者交付了          触发调用中处理程序调用的信号          线程或终止进程。

在POSIX(比unix更通用)中,您可以使用pthread_join()创建主线程块,直到另一个线程退出。