代码之家  ›  专栏  ›  技术社区  ›  jonderry

在单线程多线程C++进程中使用Booo::进程间::进程间信号量有什么缺点吗?

  •  1
  • jonderry  · 技术社区  · 15 年前

    缺点是,与专门处理在同一进程中运行的线程的技术相比,这是一种技术。例如,wait/post是否会导致整个进程生成,而不仅仅是执行线程,即使任何等待post的人都在同一进程中?

    例如,信号量将用于解决同一进程中两个线程之间共享缓冲区中的生产者/使用者问题。

    有什么合理的选择吗?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Steve Townsend    15 年前

    使用 Boost.Thread condition variables 如图所示 here . 随附的文章对boost.thread特性进行了很好的总结。

    使用进程间信号量是可行的,但由于使用了不必要的重量级底层操作系统锁定原语(例如,在Windows中命名的内核对象),因此很可能会对您的执行征税。