如何在程序关闭前先关闭所以正在运行的线程
hthread:=createthread(nil,0,@tform3.FindData,nil,0,ThreadIDg);
我的线程都是用这句代码创建的,求释放线程的代码
[解决办法]
如果线程在退出的时候,不需要干什么事情的话,可以在程序退出时,直接用ExitProcess(0);来结束程序,线程也就自动终止了,无需理会,系统会回收资源.
[解决办法]
直接调用ExitProcess结束进程的方法来结束所有线程并不好,因为线程都是强制结束的,万一此时线程正在处理一些重要的事情,比如正在写文件之类的,那文件写入就会不完整。比较好的办法是主线程在结束自身之前通知子线程结束自身,然后等待子线程结束,子线程做完事情结束之后,主线程再继续结束。