【发布时间】:2015-07-03 11:04:15
【问题描述】:
我的教授说,如果你有一个计数信号量(特别是 System V 信号量),如果两个进程尝试同时访问该信号量,可能会出现同步问题,因此你需要调解对计数信号量的访问使用单独的二进制信号量。
我认为信号量的全部意义在于,如果两个进程试图同时访问一个信号量,内核会自动同步访问。这是真的吗?
【问题讨论】:
标签: synchronization semaphore sysv-ipc
我的教授说,如果你有一个计数信号量(特别是 System V 信号量),如果两个进程尝试同时访问该信号量,可能会出现同步问题,因此你需要调解对计数信号量的访问使用单独的二进制信号量。
我认为信号量的全部意义在于,如果两个进程试图同时访问一个信号量,内核会自动同步访问。这是真的吗?
【问题讨论】:
标签: synchronization semaphore sysv-ipc
是的,系统 V 信号量将自动调整,并且对它们的访问绝对是线程安全的,无需进一步的信号量。信号量的创建和初始化不是原子的,必须在任何进程尝试访问和调整它之前完成。
【讨论】: