Check ch = new Check();//这个类是专用来传入到线程中的参数
ch.Money = 3000;
ch.Count = 5;
int count = 10;
Thread [] th = new Thread[count];
for (int j = 0; j < threadcount; j++)
{
th[j] = new Thread(new ParameterizedThreadStart(logcheck));
}
for(int i =0,j=0;i< list.count;i++,j++)
{
string a = list[i].sSectCode.toString();
string b = list[i].sAreaCode.toString();
//这两个参数每个线程都不一样
ch.sSectCode = a;
ch.sAreaCode = b;
th[j].Start(ch);//传送参数
if (j == threadcount - 1)//如果线程启动完成,那么我们将线程数组中的j重新置为0
{
j = 0;
j--;
}
//问题是,我如何判断每一个线程是否完成,然后将完成的线程进行到下将参数改变再次启动。如果线程达到最大时,必须停止
//循环,只有当其中任何一个线程执行完成了,然后把执行完的线程赋上不同的参数,再次启动,直到完成。
}先给100分不够在加
ch.Money = 3000;
ch.Count = 5;
int count = 10;
Thread [] th = new Thread[count];
for (int j = 0; j < threadcount; j++)
{
th[j] = new Thread(new ParameterizedThreadStart(logcheck));
}
for(int i =0,j=0;i< list.count;i++,j++)
{
string a = list[i].sSectCode.toString();
string b = list[i].sAreaCode.toString();
//这两个参数每个线程都不一样
ch.sSectCode = a;
ch.sAreaCode = b;
th[j].Start(ch);//传送参数
if (j == threadcount - 1)//如果线程启动完成,那么我们将线程数组中的j重新置为0
{
j = 0;
j--;
}
//问题是,我如何判断每一个线程是否完成,然后将完成的线程进行到下将参数改变再次启动。如果线程达到最大时,必须停止
//循环,只有当其中任何一个线程执行完成了,然后把执行完的线程赋上不同的参数,再次启动,直到完成。
}先给100分不够在加
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货