[入门] 如何关闭一个线程

purple_jade 2007-10-05
代码:
private void bclick(Object sender,EventArgs ea)
{
Thread myThread = new Thread(&tt);
myThread.start();
}

private int tt()
{
int t=0;
for(;;)
{
t++;
}
return 0;
}
如何关闭myThread这个线程
ideage 2007-10-06
D还真没有关闭,只能等主线程终止,内部创建的线程终止。
只能pause()。



用Win32API吧。CreateThread
TerminateThread()终止线程
Suspend()与Resume()是挂起、唤醒线程。  
qiezi 2007-10-06
一般是使用友好关闭方式,线程循环中检测一个标志,需要关闭时设置一下这个标志即可.
purple_jade 2007-10-06
谢谢两位指点
既然没有对应的强制关闭函数
我用标志判断自然关闭吧
以前都用c#和java win32api不太会用
bool s;
private void bclick(Object sender,EventArgs ea)
{
    s=true;
    Thread myThread = new Thread(&tt);
    myThread.start();
}

private void b2click(Object sender,EventArgs ea)
{
    s=false;
}

private int tt()
{
   int t=0;
   for(;;)
   {
     if(!s)
       break;
     t++;
   }
   return 0;
}
hurd 2007-10-06
线程安全是怎么做的,互斥锁还是关键代码端啊?
Global site tag (gtag.js) - Google Analytics