一、什么是信号量?想象一个停车场:只有3个车位(最大资源数)一开始3个车位都是空的(可用资源数=3)管理员拿着计数器,控制车辆进出这就是信号量!它像一个聪明的管理员,控制着多个线程对共享资源的访问。每个信号量内核对象包含三个关键信息:使用计数:有多少地方在用这个信号量最大资源数量:最多能同时访问的线程数(比如停车场最多3辆车)当前资源数量:当前还有多少个资源可用二、信号量的工作原理2.1 核心规则【规则1】如果当前资源计数 0 → 有信号状态(绿灯)→ 线程可以进入 【规则2】如果当前资源计数 = 0 → 无信号状态(红灯)→ 线程必须等待 【规则3】当前资源计数永远不会变负数 【规则4】当前资源计数永远不会超过最大资源计数2.2 信号量的状态变化初始状态:最大资源=3,当前资源=3 → 绿灯(有信号) ↓ 一个线程进入:当前资源=2 → 还是绿灯(还有资源) ↓ 又一个线程进入:当前