【发布时间】:2014-02-27 05:01:29
【问题描述】:
我正在通过不同的方法解决生产者/消费者问题。我目前正在研究的一个涉及我自己的信号量实现,并与 Peterson 的解决方案配对以保护信号量的 down() 和 up() 函数调用。
问题是,我正在使用 C 语言工作,我能想到的创建信号量的唯一方法是使用带有函数指针的结构,用于 down() 和 up()。这是正确的想法吗?
【问题讨论】:
-
函数指针似乎与问题无关:您可以调用
up(my_semaphore);而不是my_semaphore->up(my_semaphore);。 (在 C 中,my_semaphore->up()不能没有参数,因为没有传递隐式的this参数,因此函数会知道哪个信号量调用了它。)
标签: c function semaphore consumer producer