代码之家  ›  专栏  ›  技术社区  ›  Achilles

线程可以运行的最长时间?

  •  3
  • Achilles  · 技术社区  · 15 年前

    我有一个Web服务,它创建一个线程来处理后台的一些数据。我在我的一个日志中看到一条“system.threading.threadabortexception:thread was being aborted”消息,在其中线程被杀死。我目前假设线程将在执行它正在处理的任务所需的时间内运行,但是在Google中搜索了exeception之后,我看到了一些文章提到在web.config文件中增加应用程序的executiontimeout属性。我的问题是:

    在ASP.NET中执行线程的最长执行时间是多少?此超时是不受限制的还是仍受应用程序的ExecutionTimeout属性的约束?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Community CDub    8 年前

    这是一个类似的问题。

    How to know who kills my threads

    你可以运行它 只要游泳池在运行 . 如果保留线程的池重新启动,那么它将等待所有线程退出,但是运行页面的Web服务此时停止工作,并且您遇到了问题。另外,如果已经设置了池,那么如果线程在一段时间后仍不停止,则在池中循环使用。

    在我的程序中,一个索引线程运行了26个多小时,做了大量的数据库工作,并且运行在静态函数上。

    推荐文章