我在计划任务中使用了不少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