我有一個在python中使用線程的代碼。每個線程如果滿足條件將創建2個新線程。現在問題是活動線程總數超過Ubuntu 12.04支持的活動線程總數。現在活動線程隊列中的每個線程都需要空間來創建新線程,然後它將終止。我的系統有8個CPU。現在我的代碼正在陷入僵局。線程隊列已滿 - python
0
A
回答
2
你可能不應該創建這麼多的線程。相反,請使用Queue.Queue
在不同線程之間進行通信。
+0
這是一個很好的開始:http://effbot.org/librarybook/queue.htm –
+0
每個線程都是獨立的,他們不使用任何全局變量。如果我使用Queue,那麼我必須在啓動線程之前將它插入隊列中......如何將以下代碼轉換爲使用隊列'func(a,i):if a> i):func(a,i + 1), func(a-1,i);'我正在使用線程來處理2個獨立的遞歸調用。 – pratibha
相關問題
- 1. JMS隊列已滿
- 2. opensips-1.6:recv隊列已滿
- 3. 多處理隊列已滿
- 4. python線程隊列問題
- 5. python隊列多線程
- 6. Python中的線程/隊列
- 7. Python線程/隊列問題
- 8. Python的多線程隊列
- 9. 限制Python線程隊列中的線程,隊列
- 10. 問題 - 對FastCGI池隊列已滿
- 11. 當代理隊列已滿時,Python Celery task.delay()
- 12. 排隊方法,當隊列已滿時增加數組大小
- 13. Python - 線程 - 我可以創建線程隊列列表嗎?
- 14. 使用隊列的Python中的線程
- 15. Python的線程和隊列例如
- 16. Python中的多線程隊列
- 17. Python的重構與線程和隊列
- 18. Python多線程 - 計劃隊列
- 19. Python中的線程隊列掛起
- 20. python線程與同步隊列
- 21. 使用隊列的Python多線程
- 22. 帶有隊列的Python線程
- 23. Python線程的易於刷新隊列
- 24. PyV8:事件隊列滿
- 25. 停止線程在隊列填滿之後停止
- 26. Glassfish的:線程池的任務隊列滿
- 27. 線程和隊列
- 28. Perl線程::隊列
- 29. Android線程隊列
- 30. 隊列線程池
你可以發佈代碼嗎? – Blender
請注意,CPython中有全局解釋器鎖(GIL),它可以防止您使用所有內核進行處理。另請參見[是否支持多處理器/多核編程?](http://stackoverflow.com/questions/203912/does-python-support-multiprocessor-multicore-programming)。 – bouke
我嘗試了多處理,但它消耗了所有的內核,導致系統被掛起 – pratibha