SynchronousQueue用例「建议收藏」

SynchronousQueue用例「建议收藏」SynchronousQueue是无缓冲区的阻塞队列,即不能直接向队列中添加数据,会报队列满异常,如下所示:importjava.util.concurrent.SynchronousQueue;publicclassSynchronousQueueExp{ publicstaticvoidmain(String[]args){ SynchronousQueu…

大家好,又见面了,我是你们的朋友全栈君。

SynchronousQueue是无缓冲区的阻塞队列,即不能直接向队列中添加数据,会报队列满异常,如下所示:

import java.util.concurrent.SynchronousQueue;

public class SynchronousQueueExp {
	
	public static void main(String[] args) {
		SynchronousQueue<String> sq=new SynchronousQueue<>();
		String str="aaa";
		sq.add(str);
	}
}

SynchronousQueue用例「建议收藏」

必须在有消费者阻塞等待时生产者才可以向队列中添加数据,这时由阻塞状态的消费者直接获取,相当于没有向队列中添加数据,直接将数据交给了消费者。

import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;

public class SynchronousQueueExp {
	
	public static void main(String[] args) {
		final SynchronousQueue<String> sq=new SynchronousQueue<>();
		/*String str="aaa";
		sq.add(str);*/
		Thread t1=new Thread(new Runnable() {
			@Override
			public void run() {
				try {
					while (true) {
						System.out.println("消费者阻塞等待获取数据...");
						System.out.println("消费者消费数据:"+sq.take());
					}
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		},"t1");
		
		Thread t2=new Thread(new Runnable() {
			@Override
			public void run() {
				sq.add("bb");
			}
		},"t2");
		
		t1.start();
		try {
			TimeUnit.SECONDS.sleep(2);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		t2.start();
	}
}

SynchronousQueue用例「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152126.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab 隶属函数,Matlab中已经开发出了( )种隶属函数。

    matlab 隶属函数,Matlab中已经开发出了( )种隶属函数。不属位的下面行为品定于管哪种中产范畴理学 中已 中已包务方 的等销售 或 质装 价格确定渠道功能产品服务 服量 式等 定义以上根据 标市位是定位品定业为中产指企足目 管产品场理学了满 为公平竞好的环境和条争创造良件 经开不正为当竞制止争行 下列行为作品所产生的 发出保护的是能够著作权法受到 的规定依据有关法律 种隶属保护的著后的有 年的作品作权作者期是发表首次 本案定何认依法应如 函数但双合同终未

    2025年10月4日
    0
  • POJ1488 UVA272 UVALive5381 TEX Quotes【输入输出】

    POJ1488 UVA272 UVALive5381 TEX Quotes【输入输出】

    2021年9月16日
    54
  • html中怎样使表格居中,HTML中怎么让表格居中[通俗易懂]

    html中怎样使表格居中,HTML中怎么让表格居中[通俗易懂]回答:IE6/7及IE8混杂模式中,text-align:center可以使块级元素也居中对齐。其他浏览器中,text-align:center仅作用于行内内容上。解决这个问题比较好的方式,就是为所有需要相对父容器居中对齐的块级元素设置“margin-left:Auto;margin-right:Auto”。但这个方式IE6/IE7/IE8的混杂模式中不支持,所以还要设置父容器的”text…

    2022年9月16日
    2
  • 卷积神经网络和图像识别[通俗易懂]

    卷积神经网络和图像识别[通俗易懂]卷积神经网络与图像识别我们介绍了人工神经网络,以及它的训练和使用。我们用它来识别了手写数字,然而,这种结构的网络对于图像识别任务来说并不是很合适。本文将要介绍一种更适合图像、语音识别任务的神经网络结构——卷积神经网络(ConvolutionalNeuralNetwork,CNN)。说卷积神经网络是最重要的一种神经网络也不为过,它在最近几年大放异彩,几乎所有图像、语音识别领域的…

    2022年6月2日
    45
  • java键盘钩子_java 写的低级鼠标键盘钩子示例

    java键盘钩子_java 写的低级鼠标键盘钩子示例需要到http://java.net/projects/jna/downloads下载jna.jar和platform.jar(参考http://my.oschina.net/penngo/blog/12356):1.[代码][Java]代码packagejna_test;importcom.sun.jna.platform.win32.*;importcom.sun.jna.plat…

    2022年5月6日
    44
  • 遗传算法工具箱约束怎么输入_遗传算法中怎么添加约束条件

    遗传算法工具箱约束怎么输入_遗传算法中怎么添加约束条件前言网上有很多博客讲解遗传算法,但是大都只是“点到即止”,虽然给了一些代码实现,但也是“浅尝辄止”,没能很好地帮助大家进行扩展应用,抑或是进行深入的研究。这是我的开篇之作~之前没有写博客的习惯,一般是将笔记存本地,但久而久之发现回看不便,而且无法与大家交流和学习。现特此写下开篇之作,若有疏漏之处,敬请指正,谢谢!本文对遗传算法的原理进行梳理,相关代码是基于国内高校学生联合团队开源…

    2025年11月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号