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


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

*/

0 comments: