Multithreading 每个应用程序线程的ColdFusion限制

Multithreading 每个应用程序线程的ColdFusion限制,multithreading,coldfusion,cfthread,Multithreading,Coldfusion,Cfthread,我有一个创建20到50个左右线程的计划任务。我已经将ColdFusion设置为同时运行20次,但是DB的人对我说我对他们的DB打击太大了,对此我表示反对 我想知道是否有办法让页面将线程数限制为5个并发运行的线程。或者做一些事情,这样我就不必改变全局设置 代码片段: 我很难想象一个需要50个线程的计划任务。你在解决什么问题?另外,如果您只有4或8个CPU内核,那么50个线程有什么用?听起来你必须重新考虑你的方法。我运行这个的服务器有24个处理器。每个任务的运行时间在30秒到30分钟之间。关于将线程

我有一个创建20到50个左右线程的计划任务。我已经将ColdFusion设置为同时运行20次,但是DB的人对我说我对他们的DB打击太大了,对此我表示反对

我想知道是否有办法让页面将线程数限制为5个并发运行的线程。或者做一些事情,这样我就不必改变全局设置

代码片段:


我很难想象一个需要50个线程的计划任务。你在解决什么问题?另外,如果您只有4或8个CPU内核,那么50个线程有什么用?听起来你必须重新考虑你的方法。我运行这个的服务器有24个处理器。每个任务的运行时间在30秒到30分钟之间。关于将线程数限制为5,请说明您现在是如何生成20-50个线程的。@JamesAMohler 50个线程是一个非常大的数字。我会重新考虑一下。如果您正在做一些巨大的导入任务,请考虑另一种方式——另一个平台。Web应用程序平台虽然通常用于这类应用程序,但在数千个小请求(开始和结束时间仅为毫秒)时,它们确实是最好的。他们不擅长繁重的工作,这似乎就是他所要求的帮助。
<cfoutput query="qrySetup">
  <p>Starting thread for #Info#</p>


   <cfset sleep(30)><!--- vain attempt at throdding --->


  <cfthread name="t#currentrow#"
     stConf = qrySetup.Conf     
     >

 ...

   <CFSTOREDPROC PROCEDURE="usp_Big_and_slow">
        <CFPROCPARAM VALUE="#stConf#"                   CFSQLTYPE="cf_sql_varchar">

        <cfprocresult name="local.qryResult" resultSet = "1">
    </CFSTOREDPROC>

 ...


  </cfthread>
</cfoutput>