java holdslock_Java Thread holdLock()方法
如果当前线程在指定对象上保存监视器锁,则Thread类的holdLock()方法返回true。
语法
public static boolean holdsLock(Object obj)
参数
obj:它定义了测试锁所有权的对象
返回当且仅当当前线程在指定对象上保存监视器锁时,它才返回true。 否则,它返回false。
示例
NullPointerException:如果obj为null,则抛出此异常。
示例
public class JavaHoldLockExp implements Runnable { public void run() { // print currently executing thread System.out.println("Currently executing thread is: " + Thread.currentThread().getName()); // returns true if the current thread holds the lock on the specified object System.out.println("Does thread holds lock? " + Thread.holdsLock(this)); synchronized (this) { System.out.println("Does thread holds lock? " + Thread.holdsLock(this)); } } public static void main(String[] args) { JavaHoldLockExp g1 = new JavaHoldLockExp(); // create a thread Thread t1 = new Thread(g1); // this will call run() function t1.start(); } }
执行上面示例代码,得到以下结果:
Currently executing thread is: Thread-0 Does thread holds lock? false Does thread holds lock? true
¥ 我要打赏 纠错/补充 收藏
哥,这回真没有了