ArrayBlockingQueue和SubmissionPublisher的性能如何?
创始人
2024-09-14 04:30:16
0
  1. ArrayBlockingQueue

ArrayBlockingQueue是Java中提供的基于数组的阻塞队列。它的插入和读取操作都是原子的,因此非常适合高并发环境下的生产者-消费者场景。下面是一个简单的示例:

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;

public class ArrayBlockingQueueDemo {
    public static void main(String[] args) throws InterruptedException {
        BlockingQueue queue = new ArrayBlockingQueue(1024);
        ProducerThread producer = new ProducerThread(queue);
        ConsumerThread consumer = new ConsumerThread(queue);

        producer.start();
        consumer.start();

        producer.join();
        consumer.join();
    }
}

class ProducerThread extends Thread {
    private BlockingQueue queue;

    public ProducerThread(BlockingQueue queue) {
        this.queue = queue;
    }

    public void run() {
        try {
            for (int i = 0; i < 1000000; i++) {
                queue.put(i);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

class ConsumerThread extends Thread {
    private BlockingQueue queue;

    public ConsumerThread(BlockingQueue queue) {
        this.queue = queue;
    }

    public void run() {
        try {
            for (int i = 0; i < 1000000; i++) {
                queue.take();
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

上述示例中,我们创建了一个容量为1024的ArrayBlockingQueue,然后启动一个生产者线程和一个消费者线程。生产者线程往队列中添加1000000个元素,消费者线程则从队列中取出1000000个元素。程序会等待生产者和消费者线程完成,然后结束。

  1. SubmissionPublisher

SubmissionPublisher是Java 9引入的一个新特性,它是Java的消息发布-订阅机制的一部分。它的特点是生产者和消费者之

相关内容

热门资讯

最初有开挂"决战十水... 最初有开挂"决战十水三辅助"开挂(透视)辅助脚本(线上教程有挂方式);无需打开直接搜索加(薇:136...
素来有开挂"aapo... 素来有开挂"aapoker辅助怎么用"开挂(透视)辅助平台(曝光教程有挂秘笈)您好:aapoker辅...
原先有开挂"拱趴大菠... 拱趴大菠萝如何会赢是一款专注玩家量身打造的游戏记牌类型软件,在拱趴大菠萝如何会赢这款游戏中我们可以记...
起初有辅助"微信小程... 起初有辅助"微信小程序怎么挂脚本"开挂(透视)辅助插件(爆料教程有挂教程)这是一款可以让一直输的玩家...
最初有开挂"长春科乐... 最初有开挂"长春科乐天天踢辅助"开挂(透视)辅助下载(揭秘教程有挂攻略);无需打开直接搜索微信(13...
从来有辅助"神殿娱乐... 从来有辅助"神殿娱乐控制系统"开挂(透视)辅助软件(解密教程有挂分析);无需打开直接搜索加(薇:13...
原本有开挂"广西友玩... 广西友玩修改器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微信...
从前有开挂"四川途游... 从前有开挂"四川途游辅助软件瞎子啊"开挂(透视)辅助工具(插件教程真的有挂);亲,四川途游辅助软件瞎...
先前有开挂"杭州都莱... >>您好:杭州都莱有没有挂确实是有挂的,很多玩家在这款杭州都莱有没有挂游戏中打牌都会发现很多用户的牌...
固有有开挂"哈局八张... 哈局八张开挂 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1、软...