关于多线程的一个问题,求高手
是这样的
我有一个主线程A和两个主线程创建的子线程1,2,还有两个队列1和2,队列1是常规的一些内容,队列2是临时的一些内容。
要求主线程监听一个端口,如果没有消息的话,则正常启动线程1,线程1从队列1中取单元操作;
如果有消息的话则放入队列2,暂停线程1,启动线程2,线程2从队列2中取单元操作。等队列2取空了则恢复线程1.
求教应该怎么用线程互斥或者同步来完成,求伪代码,我在waitforsingleobject这儿看的有点乱,诚心求教
[解决办法]
如果没有公共数据,尽量不要用同步/互斥神马的:)
M:启动T1
M:进入消息循环
M: 如果有消息放到Q2,挂起T1,启动T2
M: 如果收到MSG_T2则恢复T1
T1:循环处理Q1
T2:处理Q2,完成后发消息MSG_T2给主线程(M),退出。
[解决办法]
1、消息有可替换的方式;
2、并非有窗体才能有消息。
3、如果已经封装完了,就不要再乱上加乱了。