2011-03-09 73 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中,以确定何时达到限制。

相关问题