我有一个关于sleep()
在通过pthread_create()
主线(香草)创建的线程中使用的问题Linux (kernel 2.6.18
)
假设我创建了 2 个线程,其执行代码如下:
thread1(void *){
while (1) {
sleep(5);
}
}
thread2(void *){
while (1) {
sleep(9);
}
}
我的问题是sleep()
in 一个线程是否会干扰sleep()
另一个线程,例如,如果thread1
从 唤醒sleep()
,是否也会过早thread2
唤醒?
我在 上尝试了我的代码CentOS 5.4
,似乎sleep()
每个线程中的 都独立于另一个。
但是,我不确定这种独立性是否得到保证。的下划线实现sleep()
应该依赖于一些信号,比如SIGALARM
,我不知道是否明确定义了信号到达时哪个线程得到信号。