线程如何接受到主进程发出的终止消息(terminatethread())?

xxiao07 2011-02-12 03:24:19
多线程是进行数据并行查询,主程序向查询超时线程用terminatethread函数终止线程,线程要做出一些处理。

线程如何接受终止信息?
谢谢!线程如何接受到主进程发出的终止消息(terminatethread())?
...全文
164 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2011-02-14
  • 打赏
  • 举报
回复
用BCB编写多线程应用程序
http://www.codesky.net/article/doc/200402/2004022753493382.htm
1cctv 2011-02-13
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20110213/16/2dc0ac4c-01c4-485d-ae1f-af8047e889f0.html
__lhy 2011-02-12
  • 打赏
  • 举报
回复
主线程 PostThreadMessage();发送WM_CLOSE

线程接收消息
xxiao07 2011-02-12
  • 打赏
  • 举报
回复
设一个标志没用的,因线程是进行数据查询,在等待数据结果返回,时间超了,主程序对线程终止。
xxiao07 2011-02-12
  • 打赏
  • 举报
回复
楼上:
那么要实现我以上功能,如何处理好呢?谢谢!
EagleFew 2011-02-12
  • 打赏
  • 举报
回复
首先使用TerminateThread 函数是强行终止线程会造成线程资源没有被释放导致内存泄漏的情况.

其次, 使用TerminateThread, 被终止的线程是不可预知的.

再者, 要线程终止不能使用一个标志吗?

主线程负责每个线程结束标志的赋值, 线程负责读取这个标志. 一旦结束标志为T时, 线程自己执行完线程函数就可以释放线程了.




thread_proc(void params)
{
while ( !is_thread_terminated )
{
// 继续做改做的事情.
Sleep(100);
}
}

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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