信号量比我知道它们如何工作之前更没有意义
Semaphores make less sense than before I knew how they worked
好吧,我开始自己学习信号量,因为 class 我们根本没有教给我们很多东西(这是一个不会说英语的老师的助手,我的 11,500 美元用得很好).
总之,我弄清楚了如何使用信号量,并开始研究睡眠理发师问题。
理发师在枕头上等着别人sem_post
。顾客等理发师post"seatbelt"说顾客可以走了
无论如何,在意识到信号量不会在进程之间共享后,我又回到了作业,因为它们不是线程。随作业提供的是函数 semget
、semop
和 semctl
的描述,这些函数以 structs
作为参数,如果有的话,解释也非常稀疏。
这些描述直接反对我在其他网络上使用 sem_open
打开信号量 'file' 的发现。
无论如何 - 我想我的问题是:
发送到 sem*
函数的 'keys' 是什么?有时它被设置为 IPC_PRIVATE 有时它被用作信号量的描述符?
我认为这些资源让我更加困惑而不是帮助
键在整个 SysVIPC 子系统中使用,它们是数字标识符,旨在通过 ftok(3) 函数从路径名派生。
您可以在联机帮助页或 http://beej.us/guide/bgipc/output/html/singlepage/bgipc.html or in the APUE book 中找到有关 SysV 信号量的更多详细信息。
好吧,我开始自己学习信号量,因为 class 我们根本没有教给我们很多东西(这是一个不会说英语的老师的助手,我的 11,500 美元用得很好).
总之,我弄清楚了如何使用信号量,并开始研究睡眠理发师问题。
理发师在枕头上等着别人sem_post
。顾客等理发师post"seatbelt"说顾客可以走了
无论如何,在意识到信号量不会在进程之间共享后,我又回到了作业,因为它们不是线程。随作业提供的是函数 semget
、semop
和 semctl
的描述,这些函数以 structs
作为参数,如果有的话,解释也非常稀疏。
这些描述直接反对我在其他网络上使用 sem_open
打开信号量 'file' 的发现。
无论如何 - 我想我的问题是:
发送到 sem*
函数的 'keys' 是什么?有时它被设置为 IPC_PRIVATE 有时它被用作信号量的描述符?
我认为这些资源让我更加困惑而不是帮助
键在整个 SysVIPC 子系统中使用,它们是数字标识符,旨在通过 ftok(3) 函数从路径名派生。
您可以在联机帮助页或 http://beej.us/guide/bgipc/output/html/singlepage/bgipc.html or in the APUE book 中找到有关 SysV 信号量的更多详细信息。