Linux IPC之信号量详解.pdfVIP

  • 0
  • 0
  • 约1.21万字
  • 约 7页
  • 2026-06-04 发布于北京
  • 举报

LinuxIPC之信号量

1.信号量

信号量(也叫信号灯)是一种用于不同进程间或一个给定进程的不同线程间同步手

段的原语。信号量是进程/线程同步的式,有时候我们需要保护一段代码,使它每次

只能被一个执行进程/线程运行,这种工作就需要一个二进制开关;有时候需要限制一段代

码可以被多少个进程/线程执行,这就需要用到关于计数信号量。信号量开关是二进制信号

量的一种逻辑扩展,两者实际调用的函数都是一样。

信号量分为以下三种。

1、SystemV信号量,在内核中,可用于进程或线程间的同步,常用于进程的同步。

2、Posix有名信号量,一种于POSIX技术规范的实时扩展方案(POSIXRealtime

Extension),可用于进程或线程间的同步,常用于线程。

3、Posix基于内存的信号量,存放在共享内存区中,可用于进程或线程间的同步。

为了获得共享资源进程需要执行下列操作:

(1)测试控制该资源的信号量。

(2)若信号量的值为正,则进程可以使用该资源。进程信号量值减1,表示它使用了一个

资源单位。此进程使用完共享资源后

文档评论(0)

1亿VIP精品文档

相关文档