这个问题想了半天,关于进程和线程之间的通讯。300分。(300分)

  • 主题发起人 主题发起人 TIGER@DELPHI
  • 开始时间 开始时间
T

TIGER@DELPHI

Unregistered / Unconfirmed
GUEST, unregistred user!
主进程开了一个线程来单独处理一些数据,处理完成后线程通知主进程更新相关数据,
原来我是用主进程的一个定时器来扫描线程队列方式,现在考虑觉得其实应该是线程
发消息来通知主进程来取数据的方式比较妥当,可是线程真的可以往主进程发消息吗?
请高手来帮忙了,最好有段小代码给个小例子:)
 
线程可以往主进程发消息,你用postmessage的方法,在主进程里要编写消息处理函数。
你也可以在工作线程里改变信号量,让主线程根据信号量的变化来判断工作线程的状态。
 
通讯就是通过发送消息。在线程序建立时把进程句柄作为参数递入
 
只要知道主线程窗体的句柄是可以发送消息的
不要使用SendMessage函数
应该使用PostMessage函数
否则就失去多线程的意义了
 
恩,测试ING:)
 
留个板凳,看还有没详细一点的回复。准备学习:)
 
用postmessage 发一个 自定义消息就可以啦。
特例: 如果你的主线程没有 handle(没有主窗口),你也可以用 postThreadMessage
 
后退
顶部