0

我在 ColdFusion 8 上使用 CFTHREAD。

偶尔我发现所有线程都停止执行并保持 STATUS=NOT_STARTED

服务器监视器告诉我没有正在运行的请求,没有正在运行的线程和越来越多的排队线程。

恢复的唯一方法是重新启动 ColdFusion 实例。

我只在少数几个地方使用线程。对 CFTHREAD 的一些调用是已加入的——在这种情况下,我会终止任何在超时内未完成的线程。对 CFTHREAD 的一些调用是一劳永逸的。

有谁知道为什么会发生这种情况?

谢谢,

威廉毕比

4

1 回答 1

0

在我的一个应用程序中,我已经面临线程挂起问题。那是因为,我的线程正在运行一些 HTTP 调用或大文件下载过程,它面临连接超时问题。

由于这个线程挂起,我们的服务器也变得非常繁忙,因为正在运行的线程获取的资源无法释放。

我的解决方案:只需检查线程运行的时间。如果它超过一个特定的时间间隔,那么我正在通过代码杀死线程。

您可以使用 ColdFusion Admin API 来终止线程。如果您想如何使用管理 API 杀死线程,请参见此处

于 2013-11-13T12:19:11.210 回答