12.6管道流(血干JAVA系列)

管道流

  • 12.6管道流
    • 基础概念
      • 【例12.34】验证管道流

12.6管道流

基础概念

管道流的主要作用是可以进行两个线程间的通信,如图12-9所示,分为管道输出流(PipedOutputStream)、管道输入流(PipedlnputStream)。如果要想进行管道输出,则必须把输出流连在输入流上,在PipedOutputStream类上有如下方法用于连接管道。

public void connect(PipedlnputStream snk) throws lOException

在这里插入图片描述
PipedOutputStream方法

write(int b) 写入指定 byte到管道输出流。

【例12.34】验证管道流

package jiaqi;

import java.io.PipedInputStream;
import java.io.PipedOutputStream;

class Send implements Runnable
{
	private PipedOutputStream pos = null;
	public Send() 
	{
		this.pos = new PipedOutputStream();//实例化
	}
	public void run() 
	{
		String str = "hello world!";
		try 
		{
			this.pos.write(str.getBytes());//输出流中写入信息
		}
		catch(Exception e) 
		{
			e.printStackTrace();
		}
	}
	public PipedOutputStream getPos()
	{
		return this.pos; 
	}
	
}
class Receive implements Runnable
{
	private PipedInputStream pis = null;
	public Receive() 
	{
		this.pis = new PipedInputStream();//实例化
	}
	
	public void run() 
	{
		byte b[] = new byte[1024];
		int len=0;
		try 
		{
			len = this.pis.read(b);
		} 
		catch (Exception e)
		{
			e.printStackTrace();
		}
		System.out.println("内容:"+new String(b,0,len));
	}
	
	
	public PipedInputStream getPis()
	{
		return this.pis;
	}
	
}
public class demo401_1
{

	public static void main(String[] args) throws Exception
	{
		Send s = new Send();
		Receive  r = new Receive();
		
		//输出流.connect.输入流
		s.getPos().connect(r.getPis());
		
		new Thread(s).start();
		new Thread(r).start();
	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/354069.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于蛙跳优化的神经网络数据预测matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 通过蛙跳优化算法,优化神经网络的权值参数,然后使用优化后的神经网络模型对数据进行预测,输出预测曲线。 2.测试软件版本以及…

2024 年 eBPF 和网络趋势预测

本文地址:2024 年 eBPF 和网络趋势预测 | 深入浅出 eBPF 1. eBPF 1.1 eBPF 将继续呈指数增长1.2 eBPF 应用市场1.3 eBPF 在手机中得到更广泛的应用1.4 eBPF 滥用带来的风险2. 可观测 2.1 最受欢迎的可观测性2.2 降低可观测性开销2.3 上下文感知的 Kubernetes 工作负…

多数据源组件dynamic-datasource使用总结

简介 dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。 其支持 Jdk 1.7, SpringBoot 1.5.x 2.x.x 3.x.x。 特性 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。支持数据库敏感配置信息 加密…

matlab基本操作

目录 1 清空workspace 2 清空命令行窗口 3 求字符的ASCII码 4 矩阵的表示 5 矩阵的转置 6 按列输出 7 求逆矩阵 8 创建零矩阵 9 生成随机数 10 生成空数组 11 生成单位矩阵 12 生成幻方矩阵 13 结构体 14 重复 15 点乘与叉乘 16 寻找符合条件的元素…

Hadoop, HIve, Spark关系简述

大数据∈数据管理系统的范畴 数据管理系统: 数据怎么存?数据怎么算? 单机数据管理时代下, 数据处理的任务:IO密集型; 数据存不下? HDFS用于存放多机器的数据并提供相关Api接口。 HDFS中引入了…

146基于matlab的齿轮非线性动力学

基于matlab的齿轮非线性动力学,绘出系统状态变量随参数变化分岔图,绘图参数对应的系统各周期及混沌状态的时间历程图、相轨迹图、Poincare映射图,程序已调通,可直接运行。 146 matlab 齿轮非线性动力学 相图 (xiaohongshu.com)

【前端web入门第二天】01 html语法实现列表与表格_合并单元格

html语法实现列表与表格 文章目录: 1.列表 1.1 无序列表1.2 有序列表1.3 定义列表 2.表格 2.1 表格基本结构2.2 表格结构标签2.3 合并单元格 写在最前,第二天学习目标: 列表 表格 表单 元素为嵌套关系 1.列表 作用:布局内容排列整齐的区域。 列表分类:无序列表、有序列表…

【leetcode题解C++】101.对称二叉树 and 111.二叉树的最小深度 and 222.完全二叉树的节点个数 and 110.平衡二叉树

101. 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 思路&#xff1a…

2023启示录|虚拟人这一年

图片|《银翼杀手 2049》剧照 作者丨程心 编辑丨罗辑 2023 年,大模型 “救活” 了很多行业,其中最为反转的,就是把虚拟数字人(以下简称虚拟人)从活死人墓里拉了出来。 还没开年,在 2022 年火…

python_ACM模式《剑指offer刷题》链表3

题目: 注意: 剑指offer上对这道题目的描述是给定的删除节点是节点指针。这表明这道题可以用时间复杂度为O(1)的方式解决。 而leetcode上对类似本题的描述是: 给定删除节点是节点值,这决定了本题时间复杂度必然至少为O(N)。因为…

PINN物理信息网络 | 全局自适应物理信息神经网络SA-PINN

概述 本文提出的自适应加权方法在于权重适用于不同损失组件中的个别训练点,而不是整个损失组件。之前的方法可以被看作是这个方法的一个特例,当所有针对特定损失组件的自适应权重同时更新时。在之前的方法中,独立开发的极小极大加权方案[16]与SA-PINNs最为相近,因为它也通过…

SpringCloud--FeignGateWay

Feign 创建项目勾选web SpringWeb 1.0 创建生产者SpringCloudFeignProvider 端口号:8081 pom.xml引入依赖 <!--nacos依赖--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery<…

语义分割(3):损失函数解析

文章目录 1. 常见语义分割损失1.1 Cross Entropy1.2 dice Loss1.2.1 为什么使用Dice loss1.2.2 公式1.2.3 Dice loss 和 F1-score代码 1.3 focal loss1.3.1 公式&#xff1a;1.3.2 代码 2. 语义分割损失应用参考 语义分割任务实际上是一种像素层面上的分类&#xff0c;需要识别…

回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SSA-SVR麻雀算法优化支持向量机的数据…

Qlik Sense 使用Join合并表格

Join | Windows 版 Qlik Sense帮助 什么是Qlik Sense的Join join 前缀可连接加载的表格和现有已命名的表格或最近创建的数据表。本质上跟SQL的Join很类似。 联接数据的效果是通过一组额外的字段或属性扩展目标表&#xff0c;即目标表中不存在的字段或特性。源数据集和目标表之间…

牛客——只能吃土豆的牛牛(进制转化)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 旅行完了的牛牛又胖了&#xff0c;于是他终于下决心要戒掉零食&#xff0c;所以他带着他最爱的土豆回到了牛星&#xff0c;开始了在牛星种土豆和只吃土豆减肥的日子。&#xff08;吃土豆能减肥…

Future模式先给您提货单

Future模式是一种设计模式&#xff0c;用于在处理耗时操作时提高程序的响应性。 角色介绍: Main类: 负责向Host发出请求并获取数据的类。 Host类: 负责向请求返回FutureData的实例的类&#xff0c;起到调度的作用。 Data接口: 表示访问数据的方法的接口&#xff0c;由FutureD…

S275智慧煤矿4G物联网网关:矿山开采的未来已来

随着经济发展煤矿需求不断激增&#xff0c;矿山矿井普遍处于偏远山区&#xff0c;生产管理、人员安全、生产效率是每个矿山矿井都需要考虑的问题&#xff0c;利用网关对现场终端设备连接组网&#xff0c;实现智慧煤矿远程管理。 各矿山矿井分布范围比较广泛&#xff0c;户外环…

python内置函数有哪些?整理到了7大分类48个函数,都是工作中常用的函数

python内置函数 一、入门函数 1.input() 功能&#xff1a; 接受标准输入&#xff0c;返回字符串类型 语法格式&#xff1a; input([提示信息])实例&#xff1a; # input 函数介绍text input("请输入信息:") print("收到的数据是:%s" % (text))#输出…

Qt Design Studio+Pyside项目

Qt Design Studio设计出的项目结构有多个层级的目录&#xff0c;我们直接用类似Qt Creator工具的方式加载main.qml文件时会报错提示module "content" is not installed&#xff0c;将content加入importPath后还是报同样的错误。 Qt Design Studio生成的文件包含了.qm…