我怎么知道这个特定的线程是否还在服务器上运行
本文关键字:服务器 运行 是否 线程 我怎么知道 | 更新日期: 2023-09-27 18:11:39
我在ASP中使用一个线程。Net应用程序每2小时在后台运行一次,使用c#见下面的代码,但我的问题是我怎么能知道如果这个特定的线程还在服务器上运行??注意:我使用的是Windows server 2008 R2标准版
// Create runner Thread and start it
System.Threading.Thread OrderStatusFromThread = new System.Threading.Thread(new System.Threading.ThreadStart(OrderStatusChange));
OrderStatusFromThread.IsBackground = true;
OrderStatusFromThread.Name = "OrderStatusFromThread";
OrderStatusFromThread.Start();
}
static void OrderStatusChange()
{
while (!ShutDown)
{
System.Threading.Thread.Sleep((1000 * 60)*10);
UpdateOrderStatusFromAPI();
}
}
可以在线程上使用Join(int timeout)
函数。
if(OrderStatusFromThread.Join(1000))
{
//Thread has terminated
}
else
{
//Thread is still running.
}
加入文档:http://msdn.microsoft.com/en-us/library/6b1kkss0(v=vs.100).aspx
编辑新信息后:
你可以记录线程的ID,或者使用它的名字,用ProcessExplorer之类的东西来验证它是否还在运行。此外,该工具不需要安装,它只是一个exe。