夏未央-夜未眠 2016-11-30 03:05 采纳率: 0%
浏览 3532

Java多线程并发如何模拟

一个Java Application运行后,在系统中是作为一 个线程吗?运行main方法以后,为什么不能实现多个线程启动?我想用java程序模拟多个消费者和kafka生产者通信,可以实现吗
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;

import java.util.Arrays;
import java.util.Properties;

/**

  • Created by Administrator on 2016/10/17.
    */
    public class consumerTest extends Thread{
    public synchronized void run(){
    Properties props = new Properties();
    props.put("bootstrap.servers", "localhost:9092");
    //消费者组group
    props.put("group.id", "test");
    //是否自动确认offset
    props.put("enable.auto.commit", "true");
    //自动确认offset的时间间隔
    props.put("auto.commit.interval.ms", "1000");
    //会话超时时间
    props.put("session.timeout.ms", "30000");
    //key的序列化类
    props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
    //value的序列化类
    props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
    KafkaConsumer consumer = new KafkaConsumer(props);
    //消费者订阅的topic, 可同时订阅多个
    consumer.subscribe(Arrays.asList("test"));
    while (true) {
    //读取数据,读取超时时间为100ms
    ConsumerRecords records = consumer.poll(100);
    for (ConsumerRecord record : records)
    System.out.println(String.format("offset = %d, key = %s, value = %s", record.offset(), record.key(), record.value()));
    }
    }

    public static void main(String[] args) {
    consumerTest test1=new consumerTest();
    Thread threads[] = new Thread[5];
    for (int i = 0; i < threads.length; i++)
    threads[i] = new Thread(test1);
    for (int i = 0; i < threads.length; i++)
    {
    threads[i].start();
    }
    }
    }

  • 写回答

2条回答 默认 最新

  • 毕小宝 博客专家认证 2016-11-30 03:57
    关注
     你去搜索demo运行,看看结果,然后单步跟踪下执行过程就明白了。生产者消费者模式最重要的就是共享同一个资源队列,一个存一个取,这个过程中做好同步处理。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿