- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java.lang.Thread.holdsLock() Method
Description
The java.lang.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
The following example shows the usage of java.lang.Thread.holdsLock() method.
package com.tutorialspoint; import java.lang.*; 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)); synchronized (this) { System.out.println("Holds Lock = " + Thread.holdsLock(this)); } } public static void main(String[] args) { new ThreadDemo(); } }
Let us compile and run the above program, this will produce the following result −
Holds Lock = false Holds Lock = TRUE
java_lang_thread.htm
Advertisements