强制结束一个线程
VOID ExitThread(
DWORD dwExitCode //in,打定此线程被强制结束后,线程返回的值
);
说明:线程中,放在此函数之后的任何代码,不会被执行
程序启动后就执行的那个线程称 主线程,
主线程,必须负责 GUI 程序中的主消息循环,
它结束( 正常返回或调用ExitThread() ),整个程序就结束,程序中的所有线程都被强制结束,
其它线程没有机会 调用 CloseHandle() 与线程核心对象"脱离",即不能使线程核心对象引用计数减1
对系统来说,这是资源的浪费
警告: 主线程必须在其它线程都结束之后,才能结束.
例
//以上代码,存储进text文件,以.c为扩展名,拖进VC 6.0,编译,运行.
我测试后,有两种结果,为何? 这两种结果是随机出现的
第一种
Thread launched1
Thread running
About to exit thread
Thread returned 4
第二种
Thread launched1 //出现两次,为何?????
Thread launched1
Thread running
About to exit thread
Thread returned 4