我有啓動多個線程裏面做一些東西,聽一些港口等處理如何保持進程運行?
後,它開始的所有線程,主線程目前進入一個無限循環:
它是這樣的:
int main()
{
//start threads
while (true)
{
sleep(1000);
}
}
額外sleep
保證了主線程不吃處理器。
是這種方法好不好?是否有一個關於流程如何保持活力的行業標準?謝謝。
編輯:一些澄清:
- 線程是聽衆,所以
join
或WaitForSingleObject
是不是一種選擇。通常我可以在這裏使用連接,但線程由第三個客戶端庫啓動,我無法控制它們。 - 在主線程做一些處理不從設計的角度來看是有意義的。
你需要一種方法來打破主循環? – Nick
爲什麼加入一個線程不是一個選項?在所有其他線程完成之前,您只是不想退出主線程。調用所有的tid加入將會做到這一點。 – Stan
發生什麼事情與所有downvoting?!? – Nick