using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ManualResetEvent eventX = new ManualResetEvent(false);
bool b = ThreadPool.SetMaxThreads(12, 10);
eventX.Reset();
for (int i = 0; i < 20; i++)
{
thr t = new thr(eventX);
ThreadPool.QueueUserWorkItem(new WaitCallback(t.ThreadProc), i);
}
eventX.WaitOne();
Console.WriteLine("断点测试");
Console.WriteLine("运行结束");
Console.ReadKey();
}
public class thr
{
public ManualResetEvent eventX;
public thr(ManualResetEvent e)
{
eventX = e;
}
public void ThreadProc(object i)
{
Console.WriteLine("Thread[" + i.ToString() + "]");
Thread.Sleep(25000);
Console.WriteLine("Thread[" + i.ToString() + "]" + "结束");
if ((int)i == 19)
{
eventX.Set();
}
}
}
}
}
c#的ThreadPool小结,就贴一段代码记录下一~
最新推荐文章于 2023-03-10 16:33:30 发布