import java.util.concurrent.Exchanger;
public class ThreadExchange extends Thread
{
public static void main(String args[])
{
Exchanger<String> dataEx=new Exchanger<String>();
Send s=new Send("My Name is Anand",dataEx);
Receive r=new Receive(dataEx);
new Thread(s).start();
new Thread(r).start();
}
}
class Send implements Runnable
{
String data=null;
Exchanger<String> dataEx=new Exchanger<String>();
public Send(String data,Exchanger<String> dataEx)
{
this.data=data;
this.dataEx=dataEx;
}
public void run()
{
try
{
String dataStore=data;
System.out.println("Sending Data : " + data);
data=dataEx.exchange(data);
System.out.println("Sent Data : " + dataStore);
}
catch(InterruptedException e)
{
System.out.println(e);
}
}
}
class Receive implements Runnable
{
String data;
Exchanger<String> dataEx;
public Receive(Exchanger<String> dataEx)
{
this.dataEx=dataEx;
}
public void run()
{
try
{
data=dataEx.exchange(new String());
}
catch(InterruptedException e)
{
System.out.println(e);
}
System.out.println("Recieved : " + data);
}
}
/*Output
C:\Program Files\Java\jdk1.6.0_10\bin>java ThreadExchange
Sending Data : My Name is Anand
Recieved : My Name is Anand
Sent Data : My Name is Anand
*/
Paid for writing
In case you like my writing and would like me to write for your website, then please leave a comment to any of my blog article, mentioning your Email Id and I will reply back. Thanks
Friday, March 6, 2009
Implementing Thread Exchanged in Java
//ThreadExchange.java
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment