2010-04-28 80 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

您是否嘗試過在預防中包裹睡眠功能?