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) |
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.javaimport 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:

No comments:
Post a Comment