gpt4 book ai didi

c - 如何在 C 中实现我自己的信号量?

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:57 25 4
gpt4 key购买 nike

我正致力于通过不同的方法解决生产者/消费者问题。我目前正在从事的工作涉及我自己实现的信号量,搭配 Peterson 的解决方案来保护信号量的 down() 和 up() 函数调用。

问题是,我在 C 中工作,我能想到的创建信号量的唯一方法是使用带有 down() 和 up() 函数指针的结构。这是正确的想法吗?

最佳答案

您可能希望使用一些操作系统提供或硬件提供的同步原语。示例包括系统调用(例如 Linux 的 futex 调用、Windows 的 EnterCriticalSection)、硬件交换调用(例如 x86 上的 cmpxchgldrex/strex 在 ARM 上),或使用这些方法之一的库函数(例如 pthread_mutex)。

在没有操作系统或硬件帮助的情况下尝试进行同步可能非常困难。

关于c - 如何在 C 中实现我自己的信号量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22059412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com