Click here to watch in Youtube :
MyThread.java
PipedReadWriteDemo.javaMyThread.java
import java.io.IOException;
import java.io.PipedReader;
import java.io.PipedWriter;
class MyThread extends Thread
{
private PipedReader pr;
private PipedWriter pw;
MyThread(String name, PipedReader pr, PipedWriter pw)
{
super(name);
this.pr = pr;
this.pw = pw;
}
@Override
public void run()
{
try
{
if (getName().equals("Thread 1"))
{
for (int cnt = 0; cnt < 15; cnt++)
{
pw.write("Welcome " + cnt + "\n");
}
pw.close();
}
else
{
int data;
while ((data = pr.read()) != -1)
{
System.out.print((char) data);
}
pr.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
import java.io.PipedReader;
import java.io.PipedWriter;
/*
* We have created a thread, MyThread that extends the
* Thread. It has a PipedReader and a PipedWriter
* property. It overrides the run() API method of
* Thread. In the method, according to the thread name,
* it uses either the PipedReader to read or the
* PipedWriter to write
*/
public class PipedReadWriteDemo
{
public static void main(String[] args) throws Exception
{
/*
* The PipedWriter is a class for writing to piped
* character-output streams.
*/
PipedWriter pw = new PipedWriter();
/*
* The PipedReader is a class for reading piped
* character-input streams,
*/
PipedReader pr = new PipedReader(pw);
MyThread mt1 = new MyThread("Thread 1", pr, pw);
MyThread mt2 = new MyThread("Thread 2", pr, pw);
mt1.start();
Thread.sleep(2000);
mt2.start();
}
}
Welcome 0
Welcome 1
Welcome 2
Welcome 3
Welcome 4
Welcome 5
Welcome 6
Welcome 7
Welcome 8
Welcome 9
Welcome 10
Welcome 11
Welcome 12
Welcome 13
Welcome 14
No comments:
Post a Comment