0

我有一个关于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,我不知道是否明确定义了信号到达时哪个线程得到信号。

4

0 回答 0