linux体系编程(8):POSIX信号量

[复制链接]
发表于 2026-2-12 08:46:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本章节将报告另一种进程/线程间通讯的机制——POSIX信号量,为了明确与system号量间的区别, 若非特殊分析,本章出现的信号量均为POSIX信号量。也要注意请不要把它与之前所说的信号肴杂了, 信号与信号量是差别的两种机制。
1. POSIX信号量根本概念

信号量(Semaphore)是一种实现进程/线程间通讯的机制,可以实现进程/线程之间同步或临界资源的互斥访问, 常用于资助一组相互竞争的进程/线程来访问临界资源。在多进程/线程体系中, 各进程/线程之间须要同步或互斥实现临界资源的掩护,信号量功能可以为用户提供这方面的支持。
在 POSIX尺度中,信号量分两种,一种是无名信号量,一种是著名信号量。 无名信号量一样平常用于进程/线程间同步或互斥,而著名信号量一样平常用于进程间同步或互斥。 著名信号量和无名信号量的差别在于创建和烧毁的情势上,但是其他工作一样,无名信号量则直接生存在内存中, 而著名信号量则要求创建一个文件。
正如其名,无名信号量没著名字,它只能存在于内存中,这就要求使用信号量的进程/线程必须能访问无名信号量所在的这一块内存, 以是无名信号量只能应用在同一进程内的线程之间同步大概互斥。相反,著名信号量可以通过名字访
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表