class Program
{
static Semaphore sep = new Semaphore(10, 100);//控制并行最小线程数为10,最大100。
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
Task tk = Task.Factory.StartNew(ok,i);
}
}
static void ok(object i)
{
sep.WaitOne();//自减信号量
Console.WriteLine("FOR:{0}",i);
}
}
貌似必没有执行完10个线程就结束了;请老师指点。
{
static Semaphore sep = new Semaphore(10, 100);//控制并行最小线程数为10,最大100。
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
Task tk = Task.Factory.StartNew(ok,i);
}
}
static void ok(object i)
{
sep.WaitOne();//自减信号量
Console.WriteLine("FOR:{0}",i);
}
}
貌似必没有执行完10个线程就结束了;请老师指点。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货