#region 检查正在执行任务的线程数
/// <summary>
/// 检查正在执行任务的线程
/// </summary>
/// <returns></returns>
private void GetNumberOfRuningThreads()
{
while (true)
{
int max1, max2;
ThreadPool.GetMaxThreads(out max1, out max2);
int available1, available2;
ThreadPool.GetAvailableThreads(out available1, out available2);
int num = max1 - available1;
Thread.Sleep(1000);
if (num == 0)
{
this.Invoke(new Action(delegate()
{
Your Code here...
}));
}
}
}
#endregion
调用:
Thread t = null;
t = new Thread(new ThreadStart(GetNumberOfRuningThreads), 0);
t.Start();