Click here to watch in Youtube :
https://www.youtube.com/watch?v=D84sQgJrk18&list=UUhwKlOVR041tngjerWxVccw
Click the below Image to Enlarge
![]() |
| Java Tutorial: Java Synchronization (Synchronization in java | synchronized block in java_V3) |
public class DisplayMessage
{
public void showMessage(String msg)
{
/*
* synchronized block.
*/
synchronized (this)
{
System.out.println("Thread Name = "
+ Thread.currentThread().getName());
System.out.print("[" + msg);
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("]");
}
}
}
DisplayThread.javapublic class DisplayThread extends Thread
{
private String msg;
private DisplayMessage displayMessage;
public DisplayThread(DisplayMessage displayMessage, String msg)
{
this.displayMessage = displayMessage;
this.msg = msg;
}
public void run()
{
displayMessage.showMessage(msg);
}
}
SynchronizationDemo.javapublic class SynchronizationDemo
{
public static void main(String[] args)
{
DisplayMessage displayMessage = new DisplayMessage();
DisplayThread thread1 = new DisplayThread(displayMessage, "welcome");
DisplayThread thread2 = new DisplayThread(displayMessage, "Hello");
DisplayThread thread3 = new DisplayThread(displayMessage, "Peter");
thread1.start();
thread2.start();
thread3.start();
}
}
Output-------------------------------------
If showMessage method has synchronized block,
then below will be the output:
-------------------------------------
Thread Name = Thread-0
[welcome]
Thread Name = Thread-1
[Hello]
Thread Name = Thread-2
[Peter]
-----------------------------------------
If showMessage method does not have synchronized block,
then below will be the output:
-----------------------------------------
Thread Name = Thread-0
Thread Name = Thread-1
Thread Name = Thread-2
[Hello[welcome[Peter]
]
]
Click the below link to download the code:

No comments:
Post a Comment