2010-04-28 78 views
0

我的线程软件有一个奇怪的问题。螺纹应用程序与其他应用程序睡觉

我启动了2个软件实例。每个实例有2个线程,一个线程创建一个要使用的套接字,另一个使用套接字进行通信。

当一个实例中的一个线程调用sleep(3)时,另一个实例中的其他线程也会休眠。最奇怪的是,当我重新启动计算机时,它第一次运行,但在第二次尝试后,它像所述的那样睡觉。

这怎么可能?它使用一些共享资源吗?

+0

有一段时间,问题标题让我想你是在问一个正在“其他”应用程序中睡觉的线程化应用程序; -p – Pharaun 2010-05-14 14:39:05

回答

2

睡眠暂停您的进程,而不是你的线程。有关更多详细信息,请参见sleep vs pthead_yield

+0

但即便如此,为什么它会因为它们是不同的进程而睡觉另一个实例呢? – DeeD 2010-04-28 17:21:30

+0

啊,对不起,误解了这个问题。你需要提供更多细节。最好是SSCCE(http://sscce.org)。 – 2010-04-28 20:13:24

-1

您是否尝试过在预防中包裹睡眠功能?