这是我的应用程序的快速伪 ImageDT是一个DataTable
Parallel.ForEach(ImageDT.AsEnumerable(), row =>
{
if (a1 != a2)
{
ThreadPool.QueueUserWorkItem(Foo1, row["foo"])
}
else
{
ThreadPool.QueueUserWorkItem(Foo2, row["foo"])
}
}
我需要知道有多少线程处于活动状态,以及有多少线程为Parallel和ThreadPool排队。
由于
答案 0 :(得分:1)
跟踪几个共享整数,“排队”和“活动”。增量排队WorkItem时排队。当您的回调方法启动时,让它减少Queued并增加Active。当回调退出时,减少Active。