42得票2回答
Kafka中的消费者再平衡是如何工作的?

当添加或下线新的消费者/代理时,Kafka 会触发重新平衡操作。 Kafka 的重新平衡是阻塞操作吗?在重新平衡操作正在进行时,Kafka 消费者是否会被阻塞?

7得票3回答
生产者消费者 - 使用Executors.newFixedThreadPool

我对生产者-消费者模式的理解是,可以使用一个队列来实现生产者和消费者之间的共享。生产者将工作提交到共享队列中,消费者获取并处理它。也可以通过生产者直接向消费者提交来实现(生产者线程直接向消费者的执行器服务提交)。 现在,我一直在研究Executors类,它提供了一些常见的线程池实现。据规范介...

8得票2回答
缓冲后台输入流实现

我编写了用于包装其他流并在后台线程上预读的背景InputStream(和OutputStream)实现,主要允许在不同线程中进行解压缩/压缩以及处理解压缩流的过程。这是一个相当标准的生产者/消费者模型。 这似乎是一种简单的方法,可以利用多核CPU执行读取、处理和写入数据的简单进程,从而更有效...

32得票3回答
尝试在ConcurrentQueue中使用Dequeue方法。

在`ConcurrentQueue`中,如果队列中没有任何项,`TryDequeue`将返回false。 如果队列为空,我希望我的队列能够等待直到有新的项被添加到队列中,并且它会出队这个新项,然后继续这个过程。 在C# 4.0中,我应该使用`Monitor.Enter`、`Wait`、`P...

46得票5回答
如何在Python中迭代Queue.Queue项目?

有没有一种Pythonic的方法可以迭代一个Queue.Queue的元素 而不是 将它们从队列中移除。 我有一个生产者/消费者类型的程序,其中要处理的项通过使用Queue.Queue传递,我想能够打印剩余的项是什么。 有什么想法吗?

10得票5回答
什么是将内核模块与用户空间程序进行通信的最佳方式?

这个问题看起来很简单,但我想发送一个事件通知我的用户空间程序模块缓冲区已准备好读取。 例如,我在内核模块中有一个缓冲区,其数据将被用户空间程序使用。如果所有数据都被使用完,内核模块必须在新数据到达时通知我的程序。 这是生产者/消费者的典型问题。生产者是内核模块,消费者是用户空间程序。 今...

15得票2回答
Python - 从管道中简单读取行

我正在尝试从管道中读取行并进行处理,但我做了一些傻事,无法弄清楚具体是什么。生成器将会不断地产生行,就像这样: producer.pyimport time while True: print 'Data' time.sleep(1) 消费者只需要定期检查行即可: cons...

16得票2回答
同步队列与传输队列的区别

这两种实现有什么区别?在哪些情况下应该使用其中一种而不是另一种?

11得票3回答
生产者/消费者工作队列

我正在努力寻找最佳方法来实现我的处理管道。我的生产者向BlockingQueue提供工作。在消费者方面,我轮询队列,在获取到的内容上包装一个Runnable任务,并将其提交给ExecutorService。while (!isStopping()) { String work = wo...

7得票1回答
对如何初始化和实现pthread互斥锁和条件变量感到困惑

我有些困惑如何初始化和实现pthread互斥锁和条件变量。该程序的目标是让生产者将一组整数放入队列中,消费者从队列中取出整数。我还必须能够定义要创建的生产者和消费者线程的数量。在初始代码中,我得到了这些: // Locks & Condition Variables pthread_...