java.lang.Thread.holdsLock()方法實例
java.lang.Thread.holdsLock() 當且僅當當前線程在指定的對象上保持監視器鎖方法返回true。
聲明
以下是java.lang.Thread.holdsLock()方法的聲明
public static boolean holdsLock(Object obj)
參數
-
obj -- 這是用於測試鎖定擁有的對象。
返回值
如果當前線程在指定的對象上保持監視器鎖此方法返回true。
異常
-
NullPointerException -- 如果obj 為 null.
例子
下麵的例子顯示java.lang.Thread.holdsLock()方法的使用。
package com.yiibai; 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