管道流多用于多任务之间的通信
一、Sender
package test.pipstream;
import java.io.*;
public class Sender extends Thread
{
PipedOutputStream out = new PipedOutputStream();
public PipedOutputStream getOut()
{
return out;
}
public void run()
{
String str = "Hello,receiver ! I`m sender/n";
try
{
out.write(str.getBytes());
out.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
}
二、Receiver
package test.pipstream;
import java.io.*;
public class Receiver extends Thread
{
PipedInputStream in = new PipedInputStream();
public PipedInputStream getIn()
{
return in;
}
public void run()
{
byte[] buf = new byte[1024];
try
{
int len = in.read(buf);
System.out.println("the following is from sender:/n" + new String(buf, 0, len));
in.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
}
三、多线程实现, main
package test.pipstream;
import java.io.*;
class TestPiped
{
public static void main(String[] args)
{
Sender s = new Sender();
Receiver r = new Receiver();
PipedOutputStream out = s.getOut();
PipedInputStream in = r.getIn();
try
{
in.connect(out);
s.start();
r.start();
} catch (Exception e)
{
e.printStackTrace();
}
}
}
分享到:
相关推荐
两种多线程使用方式演示.rar 两种多线程使用方式演示.rar 两种多线程使用方式演示.rar 两种多线程使用方式演示.rar 两种多线程使用方式演示.rar 两种多线程使用方式演示.rar
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例),可直接运行
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例)
java多线程的使用方法如何使用,怎么使用,使用过程中有什么要注意的
多线程例子 演示多线程使用
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例).rar
使用线程池管理多线程上传,包含了文件拆分,文件分片多线程上传,单文件上传。多线程执行任务等待管理。拒绝直接new Thread创建新线程导致的诸多问题
易语言两种多线程使用方式演示源码,两种多线程使用方式演示,方法1,方法2,主线程_1,子线程_1,主线程_2,子线程_2,生成随机
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例)完整源码
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例)(十分经典)
JAVA多线程使用讲解,如何创建线程,讲解如何使用多线程,以及线程的等待与唤醒。 JAVA多线程使用讲解,如何创建线程,讲解如何使用多线程,以及线程的等待与唤醒。 JAVA多线程使用讲解,如何创建线程,讲解如何使用...
c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程c_多线程...
C#C#多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例)
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例)_26.rar
C#.NET多线程实例6个(包括多线程基本使用,多线程互斥等全部多线程使用实例).rar.