我的线程软件有一个奇怪的问题。
我启动了2个软件实例。每个实例有2个线程,一个线程创建一个要使用的套接字,另一个线程使用套接字进行通信。
当一个实例中的一个线程调用sleep(3)
时,另一个实例中的其他线程也会休眠。最奇怪的是,当我重新启动计算机时,它第一次运行,但是在第二次尝试之后,它会像所描述的那样睡觉。
这怎么可能?它是否使用了一些共享资源?
答案 0 :(得分:2)
睡眠暂停进程,而不是你的线程。有关详细信息,请参阅sleep vs pthead_yield。
答案 1 :(得分:-1)
您是否尝试过将预防性睡眠功能包裹起来?