A线程产生B线程,在a中结束B线程

micosun6 2008-04-14 09:40:05
A发送消息PostThreadMessage给B
B线程用调用ExitThread();
原本结果应该是B作业中断,可奇怪的是B中断了一下,后马上又接着运行了(不是应该结束的怎么又运行了呢)???
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhdsheng 2008-04-16
  • 打赏
  • 举报
回复
你可能在a 中又启动了b线程
micosun6 2008-04-16
  • 打赏
  • 举报
回复
是我说错了,纠正下main中create了A线程后,在A中create产生B线程,在B线程中create产生C线程
我在B线程中想强行结束C线程,可结束不了.
我的目的是想强行把任务结束,所以用A线程,产生线程B,原本B的功能只是一个函数,为了强行中止它B,才想到用
线程B再建一个C线程,因为线程Bcreate后,还能再执行代码,也就是看B能不能强行中止C,可失败了..
A线程中强行中止一个线程B或者函数谁有办法...<不能关掉A线程,或者返回A>

arong1234 2008-04-15
  • 打赏
  • 举报
回复
你的线程执行是不是依赖彼此执行顺序?线程之间的执行顺序是随机的,任何依赖顺序的算法都可能是错误的
尤其在你向桐一个stream写入的时候
[Quote=引用 2 楼 micosun6 的回复:]
B线程执行一段代码,正常如果输出1-100的话,它就输出1-30,然后第31次本该输出31的结果出来了90,再一直往下输出直到结束,从31-90这一段就没有了.后面又有,所以奇怪
[/Quote]
hityct1 2008-04-15
  • 打赏
  • 举报
回复
难道是没有结束?
sunheart 2008-04-14
  • 打赏
  • 举报
回复
绝对不可能,你其它地方又启动了b线程
micosun6 2008-04-14
  • 打赏
  • 举报
回复
B线程执行一段代码,正常如果输出1-100的话,它就输出1-30,然后第31次本该输出31的结果出来了90,再一直往下输出直到结束,从31-90这一段就没有了.后面又有,所以奇怪
arong1234 2008-04-14
  • 打赏
  • 举报
回复
这哪有啥作业中断得事情?

15,466

社区成员

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

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