我們有一個解碼函數,它可以在自己的線程中執行它的工作。 執行時間通常遠低於定義的超時值,但在某些情況下可能需要更長的時間才能完成。因此,爲了確保該功能不會對程序的其他部分造成額外的延遲,需要暫停。任何體面的方式來設置線程超時?
這是目前正在開發的Windows操作系統,但我也在尋找一種可移植的Linux解決方案。
執行到目前爲止解碼函數內的多個檢查,看它是否仍有時間繼續或中止處理。這是def。不是很好的練習,我正在改善這一點。
我知道boost提供了這樣的設施,但是我們並沒有在這個項目中使用boost。
我認爲,如果您正在共享數據beteen線程和使用互斥鎖,那麼您當前的實現是明智的。它將使人們能夠防止死鎖。 – 2012-08-17 11:06:34
你的問題到底是什麼?我已經讀了幾次你的問題,無法弄清楚你在問什麼。 – 2012-08-17 12:43:37
@DavidSchwartz,編輯:)我想知道是否有任何好的方法來設置線程的超時,而不必在函數本身(線程)內編寫'時間檢查',這不是很好。 – fduff 2012-08-17 12:53:53