我有POSIX在腦子裏執行,雖然這個問題更多的是關於架構。如何設置和管理持久多線程?
我從一個有幾個主要工作要做的更新循環開始。我可以將這些作業分爲四個或五個具有共同內存訪問要求的主要任務。這是我的想法,將這些工作分解成自己的線程,讓他們完成一個「更新」循環,並休眠到下一幀。
但是如何同步?如果我在每個週期開始時分離四個或五個線程,讓它們運行一次,死掉,然後在每次傳遞中分離另外4-5個線程?這聽起來很貴。
這聽起來更合理一些,創建這些線程,讓他們去睡覺,直到一個同步的調用喚醒它。
這是一個明智的做法嗎?我願意接受來自任何形式實現的想法。
編輯:根據到目前爲止的答案,我想補充:
- 併發希望
- 這些工作線程的目的是在非常短的持續時間< 250ms的
- 工作運行由每個線程完成將始終是相同的
- 我正在考慮4-5線程,20是一個硬限制。
+1。我會接受你的答案,但約翰提出了一個更接近我的需求的實施。 – bitcruncher 2010-12-10 16:12:28