进程的同步和互斥
进程同步(synchronous)
✅通俗理解:
就像在排队买饭,一个一个来,前面的人不走,后面的人就不能干事。
 进程同步就是:多个进程之间需要协调,有先后顺序,一个进程要等另一个进程完成某件事后才能继续。
🎯举个例子:
你和朋友一起搭积木:
-  你负责搭第一层, 
-  他负责搭第二层, 
-  他必须等你第一层搭好后,才能开始。 
这就是同步:有依赖,有先后,谁先做完谁后做都讲究顺序。
进程异步(asynchronous)
✅通俗理解:
就像在食堂里点餐,你点好餐以后可以找座位坐着等,后厨在忙着做菜,你不用一直站着等,等做好了再通知你来取。
 进程异步就是:大家互不等候,各干各的,有结果了再通知或交接。
🎯举个例子:
你和朋友写一篇报告:
-  你写前言和总结,他写正文部分, 
-  写的顺序没有依赖, 
-  写完后合并就行。 
这就是异步:不讲顺序,各自完成自己的部分即可。
进程互斥

为了实现对临界资源的互斥访问,同时保证系统整体性能,需要遵循以下原则:
-  空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区; 
-  忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待; 
-  有限等待。对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿); 
-  让权等待。当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。 
为什么要进程互斥
假设有两个进程 A 和 B,都要向同一个打印机发送任务:
-  A 发送打印内容“学生成绩” 
-  B 发送打印内容“工资单” 
如果没有互斥控制,它们可能会同时操作打印机,结果打印出的内容可能是:
学生工分资单
内容完全错乱!同样的问题也可能发生在共享内存、全局变量、数据库记录等任何“共享资源”上。
