信号量

信号量集,就是由多个信号量组成的一个数组。作为一个整体,信号量集中的所有信号量使用同一个等待队列。Linux的信号量集为进程请求多个资源创造了条件。Linux规定,当进程的一个操作需要多个共享资源时,如果只成功获得了其中的部分资源,那么这个请求即告失败,进程必须立即释放所有已获得资源,以防止形成死锁。

描述信号量的内核数据结构如下:

struct struct sem {
	int	semval;		/* 信号量的当前值 */
	int	sempid;		/* 上一次操作本信号的进程PID */
};

https://blog.csdn.net/qq_38410730/article/details/81674118


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!