跨线程的句柄操作错误

ARTHD 2008-02-29 03:15:51
求助:
我在主线程中HANDLE hCom;
在子线程中extern HANDLE hCom;
在主线程中建立hCom=CreateFile()并Resume子线程成功
在子线程中使用此hCom没有问题;
在主线程中再Terminate子线程,再CloseHandle(hComm)没有问题;
此时我再通过hCom=CreateFile()打开此hComm,出错,说‘Thread Error:句柄无效。(6)’。
请高手指点下,什么原因?如果不跨线程操作就正常。
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
僵哥 2008-02-29
  • 打赏
  • 举报
回复
鸭子都杀了,还能生蛋的吗?
ARTHD 2008-02-29
  • 打赏
  • 举报
回复
我知道了,如果Terminate()了,就不能再只通过Resume()运行此线程了.
ARTHD 2008-02-29
  • 打赏
  • 举报
回复
补充一下,第二次hCom=CreateFile()时没有出错,而是在随后的子线程的Resume()时出错了.
ydlchina 2008-02-29
  • 打赏
  • 举报
回复
不要使用 extern HANDLE hCom;
你可以定义一个全局hCom变量试试

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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