C 中的 Go 风格通道

Bla*_*sad 5 c multithreading signal-processing go

对于 C 语言的实时 DSP 程序,我需要类似 Go 风格的通道来在线程之间进行通信:

  • 一个线程在通道上推送令牌
  • 另一个线程从通道中提取令牌
  • 通道有缓冲区
  • 就我而言,令牌的内存占用很小(小数字向量)

我想知道使用旧的流是否是一个好主意。如果没有,是否有好的实践和/或库来获得尽可能接近 Go 通道的东西?

Mar*_*ler 1

您所描述的描述了一个线程安全队列

Apache 项目有一种实现。GLib 有另一种实现

除此之外,许多用户实际上已经共享了他们的pthread队列实现,假设这就是您正在使用的。