Saturday, 10 June 2017

Java Tutorial: Java Synchronization (Synchronization in java | Java Synchronized method in java_V4) ~ foundjava


Click here to watch in Youtube :
https://www.youtube.com/watch?v=Jvc2CdsipxU&list=UUhwKlOVR041tngjerWxVccw

DisplayCounter.java
public class DisplayCounter
{

    public synchronized void printCount()
    {

        try
        {
            System.out.println("Thread Name = "
                    + Thread.currentThread().getName());
            for (int i = 5; i > 0; i--)
            {
                System.out.println("Counter   ---   " + i);
                Thread.sleep(500);
            }
            System.out.println();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

    }
}
DisplayThread.java
public class DisplayThread extends Thread
{
    private DisplayCounter dc;

    public DisplayThread(String name, DisplayCounter dc)
    {
        super.setName(name);
        this.dc = dc;
    }

    public void run()
    {
        dc.printCount();
    }

}
SynchronizationDemo.java
public class SynchronizationDemo
{
    public static void main(String[] args)
    {
        DisplayCounter displayCounter = new DisplayCounter();

        DisplayThread thread1 = new DisplayThread("Thread1", displayCounter);
        DisplayThread thread2 = new DisplayThread("Thread2", displayCounter);

        thread1.start();
        thread2.start();
    }
}
Output
-------------------------------------
If printCount method is synchronized,
then below will be the output:
-------------------------------------

Thread Name = Thread1
Counter   ---   5
Counter   ---   4
Counter   ---   3
Counter   ---   2
Counter   ---   1

Thread Name = Thread2
Counter   ---   5
Counter   ---   4
Counter   ---   3
Counter   ---   2
Counter   ---   1

-----------------------------------------
If printCount method is not synchronized, 
then below will be the output:
-----------------------------------------

Thread Name = Thread1
Counter   ---   5
Thread Name = Thread2
Counter   ---   5
Counter   ---   4
Counter   ---   4
Counter   ---   3
Counter   ---   3
Counter   ---   2
Counter   ---   2
Counter   ---   1
Counter   ---   1
Click the below link to download the code:

CLICK HERE

No comments:

Post a Comment