线程之间如何通信
1、消息队列,是最常用的一种,也是最灵活的一种,通过自定义数据结构,可以传输复杂和简单的数据结构windows下的PostMessageLinux下的msgsend
2、利用系统的提供的事件、信号等通知机制、使用同步锁和自定义数据结构等来实现
3、通过管道实现,管道也可以实现线程之间的通迅,管道不但可以用于线程通迅也可以用于进程间的通迅,使用起来也很简单
4、利用套接字的方式来实现,也就是常用的tcp和udp这些套接字,这种一般正规的服务器通迅才用,线程通迅用这个就有点复杂了
5、总结可能棵褶佐峨还有其它的方式,这里就不一一列举了,最方便常用的是使用系统的消息队列来实现,但是对平台依赖太强,不适合廊蛹混庞跨平台项目的开发,现在也有好多标准可用的库可以使用,可以满足基本需要了,常用标准库有boost,优点是提供了常用的功能,缺点是太过于庞大笨重了,不适合一些小项目或者都嵌入式这类项目
6、小项目建议使用自定义数据结构和同步锁来实现消息队,通过信号来触发通知,这种灵活性很强,而且可以适应基本上常用的开发平台
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:63
阅读量:62
阅读量:67
阅读量:46
阅读量:23