0

这是我的应用程序 ImageDT 的快速伪数据表

Parallel.ForEach(ImageDT.AsEnumerable(), row =>
{
    if (a1 != a2)
    {
        ThreadPool.QueueUserWorkItem(Foo1, row["foo"])
    }
    else 
    {
        ThreadPool.QueueUserWorkItem(Foo2, row["foo"])
    }
}

我需要知道有多少线程处于活动状态以及有多少线程排队等待并行和线程池。

谢谢

4

1 回答 1

1

跟踪几个共享整数,“Queued”和“Active”。当您对 WorkItem 进行排队时,增加 Queued。当你的回调方法启动时,让它递减 Queued 并递增 Active。当回调退出时,递减 Active。

于 2012-12-13T22:40:31.677 回答