producer-consumer

    0热度

    1回答

    我试图使用BlockingCollection<T>实现生产者/消费者模式,所以我写了一个简单的控制台应用程序来测试它。 public class Program { public static void Main(string[] args) { var workQueue = new WorkQueue(); workQueue.StartProd

    0热度

    1回答

    我创建了两个生产者和两个消费者,producer1向consumer1发送了两个整数并且consumer1打印了数字的总和,并且我有另一个消费者和生产者,producer2向consumer2发送了文件夹和consumer2的路径从目录打印所有文件(来自linux的ls命令)。现在我想合并到一起,例如我希望所有生产者和消费者使用相同的消息队列。 这是我producer1代码: //IPC_msgq

    0热度

    1回答

    我在写一个使用boost :: asio的Http服务器。对于大文件,为了避免将整个文件读入内存并发送到网络,我使用boost :: asio :: async_write在网络上发送了部分文件。 问题是我的生产者(从文件中读取的函数)比消费者(boost :: asio :: async_write)快得多,这导致了大文件的巨大内存消耗。 我想通过限制缓冲区列表来避免这个问题。这似乎是一个简单的

    0热度

    1回答

    经典生产者消费者程序。当前尝试让消费者等待队列为空。队列是内存中的一个结构。我遇到了pthread_cond_wait()函数的问题。我们不允许使用全局变量,因此我将pthread_cond和mutex存储在队列结构中的内存中。 pthread_cond_wait()将整数6返回到condWaitCheck,这表示发生以下任一情况。 [EINVAL] cond,mutex或abstime指定的值无

    1热度

    3回答

    我想了解同步块。这里我实现了一个生产者线程和2个消费者线程。 由于LinkedList为空,我一直在线程中收到异常。 package com.Main; import com.qed.Consumer; import com.qed.Producer; import com.qed.Store; public class Main { public static void main

    0热度

    1回答

    我正在使用BlockingQueue实现生产者消费者场景。 这是我的消费者的run方法: @Override public void run() { try { Message msg; System.out.println("Consumer started"); //consuming messages until exit me

    0热度

    2回答

    我遇到了这样的问题,即当生产者填充数组列表缓冲区中的所有位置时,程序每次都会停止执行。但是,理论上。消费者进程仍然可以进入get()函数,导致notEmpty信号量现在获得的信号值高达10。因此,在消费者进程将信号值释放回信号量notFull之后,生产者进程仍然可以工作。 但它只是停下来,我找不到问题。 下面是程序: import java.util.List; import java.util

    -1热度

    3回答

    这是我的基本代码,现在问题是它运行几个循环,然后给出分段错误。现在我知道分段错误是由于在内存位置非法读/写,但我没有在该笔记上使用任何指针。 #include<stdio.h> #include<math.h> #include<stdbool.h> #include<pthread.h> #include<stdlib.h> int counter = 0; int BUFFER_

    0热度

    1回答

    目的 要阅读所有的Apache服务器和存储日志上S3 背景 我们有以下的httpd.conf ErrorLog "| /usr/bin/tee -a /var/log/httpd/error_log | /usr/bin/java -cp /usr/local/bin/CustomProducer/producer-1.0-SNAPSHOT-jar-with-dependencies.jar st

    0热度

    1回答

    IM与卡夫卡合作生产的消息,和我做了一个这样的制片人: synchronized (obj) { while (true){ long start = Instant.now().toEpochMilli(); for (int i=0; i< NUM_MSG_SEC ; i++) { PriceStreamingData