java中的管道和线程问题,大虾来帮忙啊:)

cloud_soft 2003-09-16 11:19:13
偶写地代码如下,为什么线程停不下来啊?
import java.io.*;

public class PipedTest
{
public static void main(String[] args)
{
try
{
PipedInputStream pisIn = new PipedInputStream();
PipedOutputStream posOut = new PipedOutputStream();
posOut.connect(pisIn);
Sender objSend = new Sender(posOut,args[0]);
Receiver objRec = new Receiver(pisIn);

objSend.start();
objRec.start();

}
catch(IOException e)
{
System.out.println("Error !"+e);
}
}
}

class Sender extends Thread
{
PipedOutputStream posOut;
File file;
Sender(PipedOutputStream posOut,String file)
{
this.posOut = posOut;
this.file = new File(file);
}
public void run()
{
try
{
FileInputStream fs = new FileInputStream(file);
int data;
data = fs.read();
while(data!=-1)
{
posOut.write(data);
data=fs.read();
}
posOut.close();
}
catch(IOException e)
{
System.out.println("sender error"+e);
}
}
}
class Receiver extends Thread
{
PipedInputStream pisIn;
Receiver(PipedInputStream pisIn)
{
this.pisIn = pisIn;
}

public void run()
{
try
{
int data;
int intTmp=0;
StringBuffer objStr = new StringBuffer();
data=pisIn.read();
while(data!=-1)
{
intTmp++;
if(intTmp%16==0) objStr.append(data+"\n");
objStr.append(data);
System.out.println(objStr);
data=pisIn.read();

}
pisIn.close();
}
catch(IOException e)
{
System.out.println("Receiver Error!"+e);
}
}
}


...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
阎罗 2003-09-16
  • 打赏
  • 举报
回复
哈哈,解决了就好,给你up一下
cloud_soft 2003-09-16
  • 打赏
  • 举报
回复
ft阿ft,代码错误,自己解决了:)
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务分配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧