当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。