我在計劃任務中使用了不少cfthreads(因爲cf在內存中運行不足),現在出現以下錯誤:由於任務隊列已達到最大限制,因此無法創建新線程5000
Cannot create a new thread because the task queue has reached it maximum limit 5000.
因此,這裏是我的問題:
- 什麼是「任務隊列」準確,和在哪裏文檔?
- 如何增加此限制?
- 我怎樣才能確定限制是動態的?以及隊列中已有多少個線程?
我在計劃任務中使用了不少cfthreads(因爲cf在內存中運行不足),現在出現以下錯誤:由於任務隊列已達到最大限制,因此無法創建新線程5000
Cannot create a new thread because the task queue has reached it maximum limit 5000.
因此,這裏是我的問題:
爲什麼不使用我提供的run-join idiom作爲您的另一個問題的答案:many queries in a task to generate json?你可以改變這個代碼示例來創建多個線程,然後加入,如果你正在尋找異步工作的東西。此外,儘可能多的線程與您的問題描述相比,實際上會減慢速度,因爲服務器在線程之間花費了太多的時間上下文切換。
它看起來像限制是一個內置的限制,不能改變。
儘管上面的消息是一條錯誤消息,因此您可以將cfthread
包裝在cftry
中,以確定何時達到限制。
好點,我現在每次運行50個線程,運行它們後加入50個線程,這似乎運行良好。 – erikvold 2011-03-09 15:40:07