线程间的通信,为什么输出线程先执行也能读到信息???
import java.io.*;
class Test
{
public static void main(String[] args)
{
PipedOutputStream pos=new PipedOutputStream();
PipedInputStream pis=new PipedInputStream();
try
{
pos.connect(pis);
new Consumer(pis).start(); //输出线程先执行
Thread.sleep(3000); //而且我还暂停了
new Producer(pos).start();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
class Producer extends Thread
{
private PipedOutputStream pos;
Producer(PipedOutputStream pos)
{
this.pos=pos;
}
public void run()
{
try
{
pos.write( "unhappyless ".getBytes());