【问题标题】:Does apache portable runtime support semaphoresapache可移植运行时是否支持信号量
【发布时间】:2013-01-05 11:45:32
【问题描述】:
gcc 4.7.2
c89

你好,

我正在使用 utils 库中的 APR 安全线程队列。我的设计是使用一个线程将消息推送到队列,并使用另一个线程从队列中弹出消息。这部分可以使用 apr 线程池和内存池。

但是,我想阻止,直到有东西从队列中弹出。我想使用信号量来指示队列中有一些东西要弹出。但是,我在 APR-Utils 中看不到任何信号量。

我可以使用 posix 信号量,但我宁愿使用更便携的东西。因为我正在使用 APR,所以我宁愿坚持下去。

APR 是否有信号量,我看不到任何信号量?

非常感谢您的任何建议,

【问题讨论】:

  • POSIX 中的“P”可移植的!
  • 仅适用于 linux/unix。但不是在窗户上。 APR 在 Linux 和 Windows 上都可以编译。

标签: c semaphore apr


【解决方案1】:

apr_queue_pop 在队列为空时阻塞,因此不需要信号量。

【讨论】:

  • 谢谢,我应该看到的。只是一个简单的问题,因为我想确认一些事情。由于队列是线程安全的,并且我将使用 2 个不同的线程进行推送和弹出。这是否意味着我不需要使用互斥锁来锁定队列以推送/弹出队列?
  • 是的,你不需要互斥体。
猜你喜欢
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-31
  • 2014-06-03
  • 1970-01-01
  • 2010-10-01
相关资源
最近更新 更多