Saturday, 10 June 2017

Java Tutorial: Java deadlock | deadlock in java ~ foundjava


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

Click the below Image to Enlarge
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Java Tutorial: Java deadlock | deadlock in java 
Deadlock.java
public class Deadlock
{
    public static void main(String[] args)
    {
        final String resource1 = "Hello";
        final String resource2 = "Peter";

        /*
         * t1 tries to lock resource1 then resource2
         */
        Thread t1 = new Thread()
        {
            public void run()
            {
                synchronized (resource1)
                {
                    System.out.println("Thread 1: locked resource 1");

                    try
                    {
                        Thread.sleep(100);
                    }
                    catch (Exception e)
                    {
                    }

                    synchronized (resource2)
                    {
                        System.out.println("Thread 1: locked resource 2");
                    }
                }
            }
        };

        /*
         * t2 tries to lock resource2 then resource1
         */
        Thread t2 = new Thread()
        {
            public void run()
            {
                synchronized (resource2)
                {
                    System.out.println("Thread 2: locked resource 2");

                    try
                    {
                        Thread.sleep(100);
                    }
                    catch (Exception e)
                    {
                    }

                    synchronized (resource1)
                    {
                        System.out.println("Thread 2: locked resource 1");
                    }
                }
            }
        };

        t1.start();
        t2.start();
    }
}
Output
Thread 1: locked resource 1
Thread 2: locked resource 2

Click the below link to download the code:

CLICK HERE

No comments:

Post a Comment