搜课云网 > 广州达内IT教育 > 资讯总汇 > 武汉排名前十的Java培训学校

武汉排名前十的Java培训学校

机构:广州达内IT教育 时间:2021-04-29 08:55:02 点击:415


IT培训中心

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设计有兴趣,希望从事IT行业

  • 有基础

    有基础

    强化自己能力,加强专业技能

  • 在校大学生

    在校大学生

    丰富职场技能,毕业不失业

  • 不满于现状

    不满于现状

    提升专业水平,轻松升职加薪

IT培训学校推荐课程
  • IT培训机构课程

    大数据

  • IT培训机构课程

    智能物联网

  • IT培训机构课程

    Unity游戏开发

  • IT培训机构课程

    网络安全

  • IT培训机构课程

    互联网营销

  • IT培训机构课程

    影视剪辑包装

达内国际集团经过14年运营,以中关村科技园区为依托,在中国软件业发达城市——北京、上海、广州、深圳、大连、南京、武汉、杭州、西安、苏州、成都、太原40多个大城市,建立140多个职业教育中心,年培训5万名软件人才,已累计为IBM、微软、摩托罗拉、华为、中软、用友、Yahoo、阿里巴巴、TOM、新浪、搜狐、百度、联想、神州数码、大唐电信、亚信等知名IT企业培养输送了30万名中高级软件人才,是中国目前最大的人才培养与输送的提供商。除中高端IT人才实训外,达内时代科技集团同样致力于IT 人才输送、教育平台建设、软件研发等综合服务,目前,已形成包括 人才实训中心、软件研发中心、软件人才中心、IT 教育中心四大人才服务模块达内国际集团逐渐形成以IT培训为主的多元化、综合性的职业教育及人才服务领导品牌。

IT课程分类

  • IT课程推荐

    HTML5

  • IT课程推荐

    Java

  • IT课程推荐

    Python

  • IT课程推荐

    全链路设计

  • IT课程推荐

    云计算

  • IT课程推荐式

    软件测试


IT培训中心