您的位置:首页 > 编程语言 > Java开发

java线程间通信

2015-09-02 19:36 621 查看
线程间进行输入/输出通信最常用的方式是”管道“方式。一个线程从管道一端写入数据,另一个线程从管道另一端读出数据。

public class pipedIO {

public static void main(String[] args) throws IOException {

pipeSender sender=new pipeSender();
pipeReceiver receiver=new pipeReceiver(sender);
sender.start();
receiver.start();
}
}

class pipeSender extends Thread
{
private PipedWriter out=new PipedWriter();
public PipedWriter getPipedWriter()
{
return out;
}

public void run()
{
while(true)
{
for(char c='A';c<='Z';c++)
{
try {
out.write(c);
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
}
}
}
}
}

class pipeReceiver extends Thread
{
private PipedReader in;
public pipeReceiver(pipeSender sender) throws IOException
{
in=new PipedReader(sender.getPipedWriter());
}

public void run()
{

try {
while(true)
{
System.out.println("read content:"+(char)in.read());
}
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
}

}
}
输出部分结果:

read content:J

read content:K

read content:L

read content:M

read content:N

read content:O
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: