描述
這個java.lang.Thread.holdsLock() 當且僅當當前線程持有指定對象的監視器鎖時,方法才返回 true。
聲明
以下是聲明java.lang.Thread.holdsLock()方法
public static boolean holdsLock(Object obj)
參數
obj- 這是測試鎖所有權的對象。
返回值
如果當前線程持有指定對象的監視器鎖,則此方法返回 true。
異常
NullPointerException- 如果 obj 為空。
示例
下麵的例子展示了 java.lang.Thread.holdsLock() 方法的用法。
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();
}
}
讓我們編譯並運行上麵的程序,這將產生以下結果 -
Holds Lock = false Holds Lock = TRUE
相關用法
- Java Java.lang.Thread.run()用法及代碼示例
- Java Java.lang.Thread.isDaemon()用法及代碼示例
- Java Java.lang.Thread.checkAccess()用法及代碼示例
- Java Java.lang.Thread.getState()用法及代碼示例
- Java Java.lang.Thread.yield()用法及代碼示例
- Java Java.lang.Thread.isInterrupted()用法及代碼示例
- Java Java.lang.Thread.getName()用法及代碼示例
- Java Java.lang.Thread.enumerate()用法及代碼示例
- Java Java.lang.Thread.getPriority()用法及代碼示例
- Java Java.lang.Thread.dumpStack()用法及代碼示例
- Java Java.lang.Thread.setUncaughtExceptionHandler()用法及代碼示例
- Java Java.lang.Thread.currentThread()用法及代碼示例
- Java Java.lang.Thread.getAllStackTraces()用法及代碼示例
- Java Java.lang.Thread.setContextClassLoader()用法及代碼示例
- Java Java.lang.Thread.setDaemon()用法及代碼示例
- Java Java.lang.Thread.getThreadGroup()用法及代碼示例
- Java Java.lang.Thread.start()用法及代碼示例
- Java Java.lang.Thread.setName()用法及代碼示例
- Java Java.lang.Thread.toString()用法及代碼示例
- Java Java.lang.Thread.activeCount()用法及代碼示例
注:本文由純淨天空篩選整理自 Java.lang.Thread.holdsLock() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。