A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.tutorialspoint.com/java/lang/thread_holdslock.htm below:

Java Thread holdsLock() Method

Java Thread holdsLock() Method Description

The Java Thread holdsLock() method returns true if and only if the current thread holds the monitor lock on the specified object.

Declaration

Following is the declaration for java.lang.Thread.holdsLock() method

public static boolean holdsLock(Object obj)
Parameters

obj − This is the object on which to test lock ownership.

Return Value

This method returns true if the current thread holds the monitor lock on the specified object.

Exception

NullPointerException − if obj is null.

Example: Checking if a thread holds lock as true

The following example shows the usage of Java Thread holdsLock() method. In this program, we've created a class ThreadDemo. In main method, we've created a new thread and started it using start() method. In run() method, we're print hold lock status using holdsLock() method. Being in synchronized block, holdsLock() method returns true.

package com.tutorialspoint;

public class ThreadDemo implements Runnable {

   Thread th;

   public ThreadDemo() {

      th = new Thread(this);
      
      // this will call run() function
      th.start();
   }

   public void run() {

      /* returns true if and only if the current thread holds the
         monitor lock on the specified object */
      synchronized (this) {
         System.out.println("Holds Lock = " + Thread.holdsLock(this));
      }
   }

   public static void main(String[] args) {
      new ThreadDemo();
   }
}
Output

Let us compile and run the above program, this will produce the following result −

Holds Lock = true
Example: Checking if a thread holds lock as false

The following example shows the usage of Java Thread holdsLock() method. In this program, we've created a class ThreadDemo. In main method, we've created a new thread and started it using start() method. In run() method, we're print hold lock status using holdsLock() method. Being not in synchronized block, holdsLock() method returns false.

package com.tutorialspoint;

public class ThreadDemo implements Runnable {

   Thread th;

   public ThreadDemo() {

      th = new Thread(this);
      
      // this will call run() function
      th.start();
   }

   public void run() {

      /* returns true if and only if the current thread holds the
         monitor lock on the specified object */
      System.out.println("Holds Lock = " + Thread.holdsLock(this));  
   }

   public static void main(String[] args) {
      new ThreadDemo();
   }
}
Output

Let us compile and run the above program, this will produce the following result −

Holds Lock = false

java_lang_thread.htm


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4