首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

线程间发消息解决思路

2012-08-21 
线程间发消息有几个接收线程,收到数据后发给另一个线程做数据处理。问题1)想实现windows里PostThreadMessag

线程间发消息
有几个接收线程,收到数据后发给另一个线程做数据处理。
问题1)

想实现windows里PostThreadMessage类似的功能,在线程间传递数据。查阅资料后,得知可用 信号量+消息队列 或者 pthread_kill+消息队列。但本人太菜,不知如何实现,请给出例子,谢谢。

问题2)
那几个接收线程,本人觉得不需要同步处理,而只需要在接收线程和数据处理线程间做同步。不知对不?


[解决办法]

C/C++ code
1.先create一个msg Queue2.然后rcv thread收到msg之后就发给这个msg Q3.proc thread每次从这个msg Q中取一个data进行处理。对于data,如果有不同的类型的话,那么就要对类型进行判断,然后再做相应的处理,比方说,如果是typeA的话,那么就执行proc_A(),如果是typeB的话,就执行proc_B()
[解决办法]
1,管道1字节+select/epoll+加锁队列的异步通知架构
2,队列+互斥锁+条件变量的阻塞等待架构

自己选择一个。
[解决办法]
探讨

引用:

1,管道1字节+select/epoll+加锁队列的异步通知架构
2,队列+互斥锁+条件变量的阻塞等待架构

自己选择一个。

弱弱的问下,第一种加锁队列是神马队列?
第二种队列是指消息队列吗?貌似阻塞等待没有异步通知好,是么?

热点排行