2011-03-09 72 views
0

我在計劃任務中使用了不少cfthreads(因爲cf在內存中運行不足),現在出現以下錯誤:由於任務隊列已達到最大限制,因此無法創建新線程5000

Cannot create a new thread because the task queue has reached it maximum limit 5000.

因此,這裏是我的問題:

  1. 什麼是「任務隊列」準確,和在哪裏文檔?
  2. 如何增加此限制?
  3. 我怎樣才能確定限制是動態的?以及隊列中已有多少個線程?

回答

1

爲什麼不使用我提供的run-join idiom作爲您的另一個問題的答案:many queries in a task to generate json?你可以改變這個代碼示例來創建多個線程,然後加入,如果你正在尋找異步工作的東西。此外,儘可能多的線程與您的問題描述相比,實際上會減慢速度,因爲服務器在線程之間花費了太多的時間上下文切換。

+0

好點,我現在每次運行50個線程,運行它們後加入50個線程,這似乎運行良好。 – erikvold 2011-03-09 15:40:07

0

它看起來像限制是一個內置的限制,不能改變。

儘管上面的消息是一條錯誤消息,因此您可以將cfthread包裝在cftry中,以確定何時達到限制。

相關問題