2012-10-31 37 views
0

目前我在.Net应用程序中使用来自AMIB的智能线程池。我已经创建了作业,并在池中执行排队它们,如下图所示:如何查询智能线程池以获取作业的当前状态?

WorkItemCallback wiCallback = new WorkItemCallback(job.QueuedExecution); 
IWorkItemResult wiResult = mySmartThreadPool.QueueWorkItem(wiCallback,   (WorkItemPriority)job.Priority); 

在任何时候我怎么能查询线程池来获得当前的状态,即排队/运行/通过传递的JobId即取消

TaskStatus mySmartThreadPool.GetCurrentStatus(string jobId); 

或者如何从智能线程池中引用已排队的项目?

请帮我解决这个问题。

回答

1

您的任务将由池中的线程运行。池控制着线程。

但在下面的链接,还有一个例子,你可以用它来检查,如果一个线程完成与否

Wait for QueueUserWorkItem to Complete