執行並行線程池
回答
我的問題是一旦一個線程運行到它的終止,我可以再次使用它 ?
是的,這是池的目的,重用線程,而不是銷燬它們。
如何線程返回到它的線程池。
通過試圖從隊列中另一個元素。循環做是一種方法。
這裏是每一個線程做在我的實現(這是pthread_create
使用的實際功能):
static void *
_tp_worker(void *arg)
{
/* ... */
/* Wait until tasks is available. */
while (!queue_get(pool->pend_q, &t_ptr)) {
/* And then execute it. */
}
}
我得到了點。我們從來沒有讓這種終止 – FourOfAKind
@Lamia你可以讓它通過操縱取之於'queue_get'返回/檢查,而裏面的東西終止。 – cnicutar
好的。非常感謝。我得到了主要觀點。 – FourOfAKind
- 1. 線程池執行程序
- 2. 線程池執行程序接受customqueue
- 3. 線程池執行延遲疑問
- 4. 等待線程池完成執行
- 5. 的Java執行器服務線程池
- 6. 線程池執行器不更新併發哈希映射
- 7. 執行程序關閉後,爲什麼Runnable仍然在可執行的線程池執行程序中執行?
- 8. 線程池執行順序並將未來傳遞給另一個線程
- 9. 你可以選擇線程池中的線程來執行(boost)
- 10. 在C#中的線程池類管理線程執行
- 11. Java線程池ExecutorService:線程執行順序
- 12. 使用asio提升線程池:線程隨機不執行
- 13. C++線程池中的線程執行順序
- 14. 正確使用JavaFX任務執行多線程和線程池
- 15. 並行執行和終止多線程
- 16. 限制scalatest並行執行線程號
- 17. 並行執行java中的多線程
- 18. 並行執行多條線程
- 19. 運行併發線程執行
- 20. 線程池運行爲了
- 21. C#執行SQL SP使用多線程或並行執行
- 22. 線程執行
- 23. .net 4.0 c#:暫停/恢復線程池中的並行運行線程暫時?
- 24. 具有優先任務並避免飢餓的線程池執行程序
- 25. 如何創建多個線程池(即多個執行程序,每個線程池都有一個線程)
- 26. 用聯合執行程序服務替換石英線程池
- 27. 在Scala中替換線程執行程序池
- 28. 使用執行程序的線程池Framrwork
- 29. 執行程序創建的線程池是否釋放內存?
- 30. 一次執行程序池限制線程數
參見http://stackoverflow.com/questions/3561095/a-very-simple-線程池使用,並行線程,在-C和http://software.intel.com/en-us/forums/showthread.php?t=53220 – derobert