在我的Linux专栏

讲到过多进程编程进程间通信以及多线程编程

在里面我做了详细的讲解,并且还附带了源代码

 

在期间,有个重要的概念, 我们需要单独拎出来讲,就是互斥和同步

我们知道, 多个进程/线程同时访问同一共享资源时

会造成数据混乱

因此呢,才需要互斥和同步机制进行保护

所以这一篇我们需要把这个概念理清楚

 

1、那进程/线程中的互斥和同步到底什么呢?

进程中的互斥和同步  和   进程中的互斥和同步   是一个意思.

互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。
————————————————
摘抄的原文链接:https://blog.csdn.net/qq_41822235/article/details/85838959

 

2、进程的互斥和同步机制:

应用的地方: 进程间通信里的 (共享内存)

实现的工具: 信号量集

 

3、线程的互斥和同步机制:

应用的地方: 多线程编程

实现的工具互斥锁 信号量 条件变量

 

Logo

更多推荐