Monday 6 February 2017

Java Tutorial: Java Synchronization (Synchronization in java | Synchronization method in Java_V2)


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

Click the below Image to Enlarge
Java Tutorial: Java Synchronization (Synchronization in java | Synchronization method in Java_V2) 
Table.java
public class Table
{
    /*
     *  Method is synchronized
     */
    /*public synchronized void printTable(int n)
    {
        System.out.println("Thread Name = "
                    + Thread.currentThread().getName());
        for (int i = 1; i <= 5; i++)
        {
            System.out.println(n * i);
            try
            {
                Thread.sleep(1000);
            }
            catch (Exception e)
            {
                System.out.println(e);
            }
        }
    }*/
    
    /*
     *  Method is not synchronized.
     */
    public void printTable(int n)
    {
        System.out.println("Thread Name = "
                + Thread.currentThread().getName());
        for (int i = 1; i <= 5; i++)
        {
            System.out.println(n * i);
            try
            {
                Thread.sleep(400);
            }
            catch (Exception e)
            {
                System.out.println(e);
            }
        }
    }
        
}
SynchronizationDemo.java
import java.io.IOException;

public class SynchronizationDemo
{

    public static void main(String[] args) throws IOException
    {
        Table tableObj = new Table();

        /*
         * Created the two threads by annonymous class.
         */
        Thread t1 = new Thread("Thread 1")
        {
            public void run()
            {
                tableObj.printTable(5);
            }
        };
        Thread t2 = new Thread("Thread 2")
        {
            public void run()
            {
                tableObj.printTable(100);
            }
        };

        t1.start();
        t2.start();
    }

}
Output
-------------------------------------
If printTable method is synchronized,
then below will be the output:
-------------------------------------

Thread Name = Thread 1
5
10
15
20
25
Thread Name = Thread 2
100
200
300
400
500

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

Thread Name = Thread 1
5
Thread Name = Thread 2
100
10
200
15
300
20
400
25
500
Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/Synchronization_Method_V2_Demo_App.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/Synchronization_Method_V2_Demo_App

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/f6f636c9cec7185fdeb94163fb3919614c64786a/BasicJava/Synchronization_Method_V2_Demo_App/?at=master

See also:

  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • No comments:

    Post a Comment