TerminateThread 能否中止含有socket操作被阻塞住的代码段?

依然做自己的软件 2009-10-20 05:58:33
RT!

多线程程序容易在释放资源时出错,经分析,问题主要出在状态改变时,有一段因socket函数阻塞住而返回时,已经在其它地方招待了释放源的操作,造成错误,所以想型清楚这个问题!谢谢!
...全文
159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢各位!昨天后来找到是其它地方也出了问题,但这个的贴子的问题还是要考虑下去!
yinshisike 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 cyrys 的回复:]
RT!

多线程程序容易在释放资源时出错,经分析,问题主要出在状态改变时,有一段因socket函数阻塞住而返回时,已经在其它地方招待了释放源的操作,造成错误,所以想型清楚这个问题!谢谢!
[/Quote]

那是说明同步没做好.改改就成了.

luckyboy101 2009-10-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dijkstar 的回复:]
楼主不必担心此问题,当服务器一端关闭时,客户端的socket由阻塞立即返回错误,检测这个错误即可退出
[/Quote]
Return Values
If no error occurs, recv returns the number of bytes received. If the connection has been gracefully closed, the return value is zero. Otherwise, a value of SOCKET_ERROR is returned, and a specific error code can be retrieved by calling WSAGetLastError.

dijkstar 2009-10-20
  • 打赏
  • 举报
回复
楼主不必担心此问题,当服务器一端关闭时,客户端的socket由阻塞立即返回错误,检测这个错误即可退出
zoulie 2009-10-20
  • 打赏
  • 举报
回复
应该可以的
强制终止线程不会释放线程的资源
xxq123321 2009-10-20
  • 打赏
  • 举报
回复
TerminateThread 直接干掉你要终止的线程并且不会释放资源,
一般情况下很少使用,特别是在同步机制时应该禁用
MoXiaoRab 2009-10-20
  • 打赏
  • 举报
回复
应该可以终止,但是终止可能会出错
muzizongheng 2009-10-20
  • 打赏
  • 举报
回复
应该不能吧?? 我的理解是它阻塞了就是假死状态了, 线程资源也不会释放.

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧