进程之间、线程之间的通信方式总结

来源:互联网 发布:autocad2015注册机mac 编辑:程序博客网 时间:2024/05/20 06:40

1、线程之间的通信方式有:锁机制(互斥锁、条件变量、读写锁)、信号量、消息队列、事件、全局变量

2、进程之间的通信方式有:管道、信号量、消息队列、条件变量、共享内存、套接字(socket)

在万能百度可以查到各种用法及介绍
我就顺便简单的说一哈:
管道又分为:
管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。(进程的亲缘关系通常是指父子进程关系。)
有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

信号量:简单来说就是做PV操作,可以进行线程和进程之间的通信(实现同步,特别是临界资源)

信号:通知接收进程某个事件已经发生,是进程间通信机制中唯一的异步通信机制(感觉就和中断机制差不多)

消息队列:存在于内核(操作系统)中,只有内核重启才能删除

套接字:就是socket,可以用于不同机器间的通信。

然后再提下不同项目之间的通信方式:http、socket、webservice
http:get,post
socket:效率最高
webservice:tomcat

原创粉丝点击