【发布时间】:2012-07-04 16:47:34
【问题描述】:
进程在其生命周期内有 1 个主线程和 1 到 50 个其他工作线程。 当主线程接受新连接时,它会将其保存在 boost::unordered_map 中,我们称之为“新 con 容器”。工作线程不时检查“新 con 容器”是否有新连接。出于同步目的,有一个 boost::mutex。当主线程写入“new con container”时,它会锁定这个互斥锁。检查此容器时的工作线程也会锁定互斥锁。
有没有办法让工作线程不锁定互斥锁并从“新con容器”中安全地读取?工作线程对套接字进行实时操作,因此锁定互斥体会影响性能。
【问题讨论】:
-
一个工作线程如何决定应该处理哪个新连接,以及下一个工作线程如何知道不在同一个连接上工作?
-
goog:许多线程正在阅读
标签: c++ multithreading boost concurrency locking