TerminateThread函数的作用是在线程外终止一个线程,属于强制终止,线程里面的资源不会被回收,所以使用此函数是很危险的。比如下面的两个例子
demo1:
上面的例子是网上的例子。下面的例子是我实际项目中遇到的
demo2:
}
DWORD WINAPI RecThread(LPVOID lpParam)
{
while(1)
{
ret=recv(sock,(char*)szBuff,sizeof(szBuff),0);
}
}
这段代码在点击断开连接的时候会强制杀掉RecThread线程,此时recv函数可能还没有返回,这个时候再进行创建套接字的时候会死锁在socket函数那里导致程序未响应。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218058.html原文链接:https://javaforall.net
