Java LinkedBlockingQueue

简介: import java.util.concurrent.LinkedBlockingQueue;public class Test { public static void main(String[] args) ...

import java.util.concurrent.LinkedBlockingQueue;

public class Test {
	public static void main(String[] args) {
		LinkedBlockingQueue<String> mQueue = new LinkedBlockingQueue<String>();
	
		new Thread(new Runnable() {
			@Override
			public void run() {
				while (true) {
					try {
						String s = mQueue.take();
						System.out.println("取出数据:" + String.valueOf(s));
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}).start();

		new Thread(new Runnable() {
			@Override
			public void run() {
				int count = 0;

				while (true) {
					System.out.println("装载数据:" + count);
					try {
						mQueue.put(String.valueOf(count));

						Thread.sleep(2000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}

					count++;
				}
			}
		}).start();
	}
}



Log:

装载数据:0
取出数据:0
装载数据:1
取出数据:1
装载数据:2
取出数据:2
装载数据:3
取出数据:3
装载数据:4
取出数据:4
装载数据:5
取出数据:5


相关文章
|
6月前
|
Java
【源码】【Java并发】【LinkedBlockingQueue】适合中学体质的LinkedBlockingQueue入门
前言 有了前文对简单实用的学习 【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门 聪明的你,一定会想知道更多。哈哈哈哈哈,下面主播就...
107 6
【源码】【Java并发】【LinkedBlockingQueue】适合中学体质的LinkedBlockingQueue入门
|
6月前
|
安全 Java
【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门
前言 你是否在线程池工具类里看到过它的身影? 你是否会好奇LinkedBlockingQueue是啥呢? 没有关系,小手手点上关注,跟上主播的节奏。 什么是LinkedBlockingQueue? ...
220 1
【Java并发】【LinkedBlockingQueue】适合初学体质的LinkedBlockingQueue入门
|
存储 安全 算法
Java中的LinkedBlockingQueue:原理、应用与性能深入剖析
Java中的LinkedBlockingQueue:原理、应用与性能深入剖析
|
存储 安全 Java
Java线程池ThreadPoolExcutor源码解读详解03-阻塞队列之LinkedBlockingQueue
LinkedBlockingQueue 和 ArrayBlockingQueue 是 Java 中的两种阻塞队列实现,它们的主要区别在于: 1. **数据结构**:ArrayBlockingQueue 采用固定大小的数组实现,而 LinkedBlockingQueue 则使用链表实现。 2. **容量**:ArrayBlockingQueue 在创建时必须指定容量,而 LinkedBlockingQueue 可以在创建时不指定容量,默认容量为 Integer.MAX_VALUE。 总结起来,如果需要高效并发且内存不是主要考虑因素,LinkedBlockingQueue 通常是更好的选择;
336 1
|
存储 监控 安全
Java并发基础:LinkedBlockingQueue全面解析!
LinkedBlockingQueue类是以链表结构实现高效线程安全队列,具有出色的并发性能、灵活的阻塞与非阻塞操作,以及适用于生产者和消费者模式的能力,此外,LinkedBlockingQueue还具有高度的可伸缩性,能够在多线程环境中有效管理数据共享,是提升程序并发性能和稳定性的关键组件。
286 0
Java并发基础:LinkedBlockingQueue全面解析!
|
消息中间件 前端开发 Java
Java LinkedBlockingQueue实现消息队列
最近有个项目需要开发一个预约系统,系统涉及到发送短信验证码;一般用户点击发送验证码,发送请求到后端后,调用短信接口,成功后就返回响应的状态码给用户;但是这样的过程,有时候会因为短信接口响应慢,而导致前端响应慢;所以这里需要做一个简单的优化,当用户点击发送短信时,将我们的短信调用放入一个队列中,放入之后,即给前端响应;后面通过阻塞队列,取出队列内容,进行短信发送即可,这样可以更好的提升系统的性能和用户体验度;
212 0
|
算法 Java
Java Review - 并发编程_LinkedBlockingQueue原理&源码剖析
Java Review - 并发编程_LinkedBlockingQueue原理&源码剖析
151 0
|
缓存 安全 Java
【JAVA】并发包中的 ConcurrentLinkedQueue 和 LinkedBlockingQueue 有什么区别?
今天介绍一下线程安全队列。Java 标准库提供了非常多的线程安全队列,很容易混淆。并发包中的 ConcurrentLinkedQueue 和 LinkedBlockingQueue 有什么区别?
358 0
|
安全 算法 Java
Java JUC LinkedBlockingQueue解析
阻塞队列 LinkedBlockingQueue
161 0
Java JUC LinkedBlockingQueue解析
|
安全 Java Linux
Java LinkedBlockingQueue 实现
本文着重介绍 Java 并发容器中 LinkedBlockingQueue 的实现方式。