小弟写了个多线程程序,大体代码如下:for(int i=0;i<10;i++)
{
ThreadStart TS=new ThreadStart(执行的程序体); //假设执行的程序体每个都要执行很长时间
Thread T=new T(TS);
T.Start();
}
while(isStopThread==false) //isStopThread为全局变量,初始值为false
{
Thread.Sleep(100);
}
????????????????????????? //isStopThread==true而退出,而线程还有没有执行完成的时候,怎么把剩余的线程结束呢?
{
ThreadStart TS=new ThreadStart(执行的程序体); //假设执行的程序体每个都要执行很长时间
Thread T=new T(TS);
T.Start();
}
while(isStopThread==false) //isStopThread为全局变量,初始值为false
{
Thread.Sleep(100);
}
????????????????????????? //isStopThread==true而退出,而线程还有没有执行完成的时候,怎么把剩余的线程结束呢?
然后在关闭的时候,先设置线程结束标志,再通过thread.join来等待线程结束。
参看
http://blog.csdn.net/Knight94/archive/2006/08/24/1111267.aspx