如何判断当前线程是否持有锁

 时间:2024-10-13 06:04:13

1、第一步:实现思路。1、要实现此次功能的测试我们需要借助于java.lang.Thread中有一个方法叫holdsLock(),它是一个由native修饰的非java代码实现的方法。2、java的native关键字标示一个方法就是一个java调用非java代码的接口。如下图所示。3、借助于Object类的wait()方法,wait抛出IllegalMonitorStateException异常,表示当前的线程没有获得对象的锁。

如何判断当前线程是否持有锁如何判断当前线程是否持有锁

3、第三步:wait代码实现。第二种具体实现代码如下所示:public static void main(String[] args) { try { new ThreadTest().testWait(); }catch (Exception e) { e.printStackTrace(); }}public void testWait() throws Exception { Object object = new Object(); new Thread(new Runnable() { @Override public void run() { synchronized(object) { try { object.wait(10); System.out.println(Thread.currentThread().getName()+"有锁"); } catch (InterruptedException e) { System.out.println(Thread.currentThread().getName() +"无锁"); } } } }).start(); try { object.wait(); System.out.println(Thread.currentThread().getName() +"有锁"); } catch (IllegalMonitorStateException e) { System.out.println(Thread.currentThread().getName() +"无锁"); } Thread.sleep(2000);}

如何判断当前线程是否持有锁如何判断当前线程是否持有锁
  • 如何将Excel里的特殊数值变成想要输入的内容
  • 保证与告知的 区别
  • FOCI专注者应该应该怎样强制停止
  • excel中,VLOOKUP函数的各种查询方法
  • 百词斩中收藏的单词在哪里可以找到?
  • 热门搜索
    揭阳旅游 旅游旅游 贵州旅游线路 成都市旅游景点 甘南旅游景点 临沂旅游景点大全 特价邮轮旅游 旅游政务网 高尔夫旅游 旅游门票