當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.lang.Thread.holdsLock()用法及代碼示例



描述

這個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.lang.Thread.holdsLock() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。