producer-consumer

    0热度

    1回答

    在Cocoa中,我设置了两个NSThreads,一个生产者和一个消费者。 生产者将数据附加到NSMutableData,并且接收者从该数据打开一个NSInputStream并读入块。 生产者线程写入比消费者进程快很多,这是确定的。但是制片人只生产有限的作品,然后退出。我希望消费者线程处理NSStreamEventEndEncountered事件。当NSInputStream来自NSMutableD

    0热度

    3回答

    我想要一个SynchronousQueue我插入一个线程的元素与put(),所以输入被阻止,直到元素被另一个线程。 在另一个线程中,我执行大量计算,并不时想检查一个元素是否已经可用,并且将其消耗。但似乎isEmpty()始终返回true,即使另一个线程正在等待put()调用。 这究竟如何呢?下面是示例代码: @Test public void testQueue() throws Interru

    6热度

    6回答

    我想实现的是服从它大致接口生产者/消费者方案: class Consumer { private: vector<char> read(size_t n) { // If the internal buffer has `n` elements, then dequeue them // Otherwise wait for more data and try

    10热度

    2回答

    我有两个线程。线程A正在从队列中拉出一些元素,线程B正在向队列中添加一些元素。 我希望线程A在队列为空时进入睡眠状态。 当线程B将一些元素添加到队列中时,应确保线程A正在工作。这怎么能在Java中完成?