Java Synchronized method:

"Synchronized methods enable a simple strategy for preventing thread interference and memory consistency errors: if an object is visible to more than one thread, all reads or writes to that object's variables are done through synchronized methods".

When a method is declared by the keyword synchronized, it is known as synchronized method. Synchronized method is used to lock an object for any shared resource. When a thread invokes a synchronized method, it automatically acquires the lock for that object and releases it when the thread completes its task.

Let's see an example of synchronized method:

Example

class Demo
{
synchronized void print(int n) //synchronized method
{
for(int i=1;i<=3;i++)
{
System.out.println(n*i);
try
{
Thread.sleep(500);
}
catch(Exception e)
{
System.out.println(e);
}
}
}
class MyThread1 extends Thread
{
Demo d;
MyThread1(Demo d)
{
this.d=d;
}
public void run()
{
d.print(5);
}
}
class MyThread2 extends Thread
{
Demo d;
MyThread2(Demo d)
{
this.d=d;
}
public void run()
{
d.print(10);
}
}
public class SynchronizationExa1
{
public static void main(String args[])
{
Demo obj = new Demo();
MyThread1 obj1=new MyThread1(obj);
MyThread2 obj2=new MyThread2(obj);
obj1.start();
obj2.start();
}
}

Output

5
10
15
10
20
30

 

 

Our Services:

Java Training | Python Training | Machine Learning with Python Training | Deep Learning with Python Training | Data Science with Python Training | Projects

SILAN Technology
Call to: 9439202111  |  9658317757  |  0674-2361252

Comment