linux进程通信

来源:互联网 发布:博雅软件股份有限公司 编辑:程序博客网 时间:2024/06/05 19:45

学习linux进程通信即可以了解系统的运行方式,也可以加深对线程通信的了解。
linux通信可以使用信号量,自旋锁,systemV,管道通信,套接字通信。
1、信号量如何保证原子性,使用atomic原子操作;非原子操作修改是先将数据读入CPU,然后运算,再将数据写入内存,这三个步骤中是无法保证原子性。适用于代码量大,进程会休眠。
2、自旋锁适用与短代码量,这样线程不会休眠,否则会影响速度和效率。
3、systemV 信号量,消息队列,共享内存。
4、管道通信,子进程fork了父进程,所以也复制了父进程中的管道对象,所以可以跨进程通信。
5、套接字网络通信