linux - 一个线程获取信号量而另一个线程释放信号量的有效用例是什么?

标签 linux linux-kernel

Linux 信号量和互斥量之间的区别在于,互斥量可以由锁定它的线程解锁。但是,一个线程锁定和另一个线程解锁的用例是什么?

最佳答案

它允许线程或进程一次访问特定的同步部分,直到信号量值变为 0。 编程用例: 这不是信号量在生产者-消费者场景中的使用方式。标准的解决方案是使用两个计数信号量,一个用于空插槽(初始化为可用插槽数),另一个用于填充插槽(初始化为 0)。

关于linux - 一个线程获取信号量而另一个线程释放信号量的有效用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44356909/

相关文章:

c - 使用可加载内核模块替换内核函数

c - 在 Linux 内核中终止进程的正确方法是什么?

c - fchmod() 无法在 C 中正确应用文件权限

linux - 从 Perl 获取 Shell 脚本

linux-kernel - linux内核如何从设备树中获取数据?

linux-kernel - 如何将文件操作附加到平台驱动程序中的 sysfs 属性?

linux - 文件中的 Ansible 取消注释行

linux -/usr/bin/ruby2.3 : bad interpreter: No such file or directory

c - 使用 read() 获取用户输入而不是 scanf

memory-management - 如何使用 mmap 在用户空间和内核之间共享内存并且数据不受文件支持