跨线程的句柄操作错误

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)’。
请高手指点下,什么原因?如果不跨线程操作就正常。
...全文
108 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
僵哥 2008-02-29
鸭子都杀了,还能生蛋的吗?
回复
ARTHD 2008-02-29
我知道了,如果Terminate()了,就不能再只通过Resume()运行此线程了.
回复
ARTHD 2008-02-29
补充一下,第二次hCom=CreateFile()时没有出错,而是在随后的子线程的Resume()时出错了.
回复
ydlchina 2008-02-29
不要使用 extern HANDLE hCom;
你可以定义一个全局hCom变量试试
回复
相关推荐
发帖
Windows SDK/API
创建于2007-08-02

1206

社区成员

C++ Builder Windows SDK/API
申请成为版主
帖子事件
创建了帖子
2008-02-29 03:15
社区公告
暂无公告