温州java培训排名

分享

时间:2025-06-14 12:28:50点击:11

达内IT培训

2014年,美国NASDAQ成功上市;全国中心数量突破100家;2015年,推出少儿编程业务;全国中心数量突破150家;2016年,提出“因材施教、分级培优”教学模式;2017年,入选教育部产学合作协同育人项目实施企业;全国中心数量突破200家...

达内IT培训

温州java培训排名

1.达内教育

2.千锋教育

3.天琥教育

4.汇众教育

5.中公IT

6.火星时代

7.万和教育

8.博雅环球教育

9.新猿IT

10.仑智教育

达内IT培训

Java管道流,Piped Input Stream。

用SQL语句数据库查询数据的直观方法提供一种类似于Jaaga的高级抽象。此样式将处理的元素集合视为一个流,流在管道中传输,并可在管道节点上处理,如过滤、排序、聚合等。

流(Stream)是数据源中的一个元素队列,它支持聚合操作,元素是组成队列的特定类型的对象。JAVA中的Stream不存储元素,而是根据需要进行计算。

序言

PipedInputStream和PipedOutputStream是为跨线程传输字节数据而设计的。他们总是成对出现,而且在使用时,他们只能工作在两个不同的线程中,在一个线程中输入和输出流都会导致死锁。在网络上有许多关于io包下这两个api的介绍。但要找到一个编写PipedInputStream的使用场景是非常困难的,所以本文结合实际业务讨论PipedInputStream的应用。

原理简介

PipedInputStream和PipedOutputStream都是输出流写数据,输入流读取数据,对于PipedOutputStream,它具有一个sink属性,类型为PipedInputStream,它在PipedOutputStream中接收字节数据。PipedInputStream中定义了一个字节数组buffer,该buffer的缺省大小为1024bit,用于缓冲数据传输。这样,就变成了PipedOutputStream将数据写入buffer中,当buffer被写入满时,则用notifyAll()唤醒正在读取数据的线程,然后在阻塞1s之后继续尝试写入数据。PipedInputStream从buffer中读取数据,当数据读取完毕buffer为空时,便notifyAll()唤醒写入的线程可以读取数据,然后在阻塞1s后继续尝试读取。PipedOutputStream方面的数据写完后,调用close()方法,在PipedInputStream中标记closedByWriter=true。现在,从buffer中读取数据返回-1。识别数据读完已到达流末尾。

用例概述。

以上代码演示了在一个线程中写入数据,然后在main线程中读取数据的过程中跨线程传输数据。

达内IT培训

2018年,承接教育部“AI+智慧学习”项目,开启人工智能学院建设之路;全国中心数量突破300家;2019年,与百度深化合作,共同推进智能领域技术人才培养;2020年,三大学院成立,11大课程体系建立;与华为、Adobe签署全面合作协议;推出“达内十年服务计划”和“大内高手社区”

达内IT培训

www.aixuew.cn All rights reserved 豫ICP备2022021264号

该文章由用户自行上传发布,如有侵权内容请及时联系我们删除。

电话咨询 在线客服 预约试听