自定义消息:只能是工作线程给UI线程发,而反过来就不行,是吗? 工作线程 ---> UI线程工作线程 ---> 工作线程UI线程 ---> UI线程UI线程 ---> 工作线程============================这几种情形各是怎么样的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只有UI线程支持消息处理,工作线程不支持消息处理故工作线程 ---> UI线程 可以发送消息工作线程 ---> 工作线程 不可以UI线程 ---> UI线程 可以UI线程 ---> 工作线程 不可以 用BOOL PostThreadMessage( DWORD idThread, // thread identifier UINT Msg, // message WPARAM wParam, // first message parameter LPARAM lParam // second message parameter); 感谢Jasanye(叶子)!请教alfwolf(戈壁孤狼):用PostThreadMessage()函数可以实现以下功能吗?工作线程 ---> 工作线程UI线程 ---> 工作线程 TO:ymbymb(毛病大哥)用全局变量的话,不能达到实时性的要求吧?难道要在工作线程里加入一个死循环? 如果你要PostThreadMessage()发送消息的化,你必须在你的工作者线程中自己处理消息循环,当然你还可以可以通过创建信号量来进行线程之间的通信 UI线程可以有多种方式跟辅助线程通话,但windows消息行不通用事件,全局变量都可以,但要注意同步PostThreadMessage()将消息发送给线程,若线程有消息队列,则返回TRUE,否则返回FALSE故而该函数不能实现UI线程和工作者线程得对话 更正:如果PostThreadMessage()发送消息成功,返回非0,否则为0同意Jasanye(叶子) :如果你要PostThreadMessage()发送消息的化,你必须在你的工作者线程中自己处理消息循环,当然你还可以可以通过创建信号量来进行线程之间的通信 the application was unable to start correctly (0xc0150002) 大哥们来介绍下图像编程 新手求救,将下面代码用MFC的图形化界面实现? 真正做过MDI程序的高手进:如何给文档的多个VIEW分别命名? tab控件每个page对应一个对话框,对话框上有好多控件,如何得到各个控件的ID 新人请教基础vc问题 刚学mfc,一个问题:vb api 和通常意义上的api有什么区别? VC++6.0 里的报错问题 dll不能被编译出来 线程做事情到一半的时候死掉如何处理 如何将整形变量写入到字节数组中?请帮忙解答! 内存问题
故
工作线程 ---> UI线程 可以发送消息
工作线程 ---> 工作线程 不可以
UI线程 ---> UI线程 可以
UI线程 ---> 工作线程 不可以
BOOL PostThreadMessage(
DWORD idThread, // thread identifier
UINT Msg, // message
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
工作线程 ---> 工作线程
UI线程 ---> 工作线程
用事件,全局变量都可以,但要注意同步
PostThreadMessage()将消息发送给线程,若线程有消息队列,则返回TRUE,否则返回FALSE
故而该函数不能实现UI线程和工作者线程得对话
同意Jasanye(叶子) :
如果你要PostThreadMessage()发送消息的化,你必须在你的工作者线程中自己处理消息循环,当然你还可以可以通过创建信号量来进行线程之间的通信