多线程:经典的生产者消费者算法
关于生产者-消费者问题的经典算法,我不明白的事情(来自维基百科:) semaphore mutex = 1 semaphore fillCount = 0 semaphore emptyCount = BUFFER_…
pthreads 生产者-消费者死锁
我编写了以下代码: void *produce(void* arg) { buffer* buff = (buffer *) arg; while (1) { pthread_mutex_lock(&mutex); if (elements_produced =…
需要具有 .NET 4.0 新功能的单一生产者/单一消费者模式示例
.NET 在 System.Collection.Concurrent 和一些同步类下添加了新的并发功能。使用这些功能的单一生产者-单一消费者模式是否有任何好的示例? (实际上…
在生产者-消费者代码中使用 wait() 增强条件死锁
我使用 Boost 线程和条件实现了一个基本的线程生产者-消费者(线程 1 = 生产者,线程 2 = 消费者)。我经常无限期地陷入 wait() 状态。我实在看不出这…
.net 4.0 上的 BlockingCollection 非常独特的例外
我正在使用 BlockingCollection 作为生产者消费者模式,但我遇到了一个例外,我想为此写一个专利 - 谷歌中只有两个结果! 期望是“CompleteAdding 不…
生产者消费者队列不处置
我已经构建了一个生产者消费者队列,它包装了 .net 4.0 的 ConcurrentQueue,并在生产(Enqueue)和消费(while(true) 线程之间使用 SlimManualResetE…
Monitor.Wait 是否需要同步?
我开发了一个通用的生产者-消费者队列,它按以下方式由 Monitor 发出脉冲: 入队: public void EnqueueTask(T task) { _workerQueue.Enqueue(task); …
生产者通过消息队列一致地向消费者进行散列?
我有一个生产者,我想通过一致的散列在消费者之间一致地分配工作。例如,对于消费者节点 X 和 Y,任务 A、B、C 应始终分配给消费者 X,而 D、E、F 应…
具有多个生产者的高效消费者线程
我试图通过在必要时跳过昂贵的事件操作来提高生产者/消费者线程的效率,例如: //cas(variable, compare, set) is atomic compare and swap //queue i…