- 5
- 0
- 约1.93千字
- 约 2页
- 2023-08-28 发布于上海
- 举报
进程和线程基础知识总结
1、进程间通信⽅式
管道:半双⼯,数据只能单向流动,必须要有⾎缘关系,⽗⼦进程
有名管道:半双⼯,数据只能单向流动,⽀持没有⾎缘关系的进程之间通信。
共享内存:
可开辟中⼀块内存,⽤于各个进程间共享,使得各个进程可以直接读写同⼀块内存空间,就像线程共享同⼀块地址空间⼀样,该⽅式基本上
是最快的进程间通信⽅式,因为没有系统调⽤⼲预,也没有数据的拷贝操作,但由于共享同⼀块地址空间,数据竞争的问题就会出现,需要
⾃⼰引⼊同步机制解决数据竞争问题。
共享内存只是⼀种⽅式,它的实现⽅式有很多种,主要的有mmap系统调⽤、Posix共享内存以及System V共享内存等。通过这三种“⼯
具”共享地址空间后,通信的⽬的⾃然就会达到。
消息队列
信号量
信号
套接字
2、线程间通信⽅式
锁机制:包括互斥锁、条件变量、读写锁
(1)互斥锁提供了以排他⽅式防⽌数据结构被并发修改的⽅法。
(2)读写锁允许多个线程同时读共享数据,⽽对写操作是互斥的。
(3)条件变量可以以原⼦的⽅式阻塞进程,直到某个特定条件为真为⽌。对条件的测试是在互斥锁的保护下
信号量机制
信号机制
3、进程和线程的区别和共同点
区别:
(1)进程是资源分配的最⼩单位,线程是资源调度的最⼩单位
(2
原创力文档

文档评论(0)