LockSupport.park方法是否在监视器上释放锁定,以保护重要的系统资源?

时间:2018-12-22 16:47:36

标签: java multithreading

如Thread.suspend javadoc所说的那样

  

此方法已被弃用,因为它固有地容易死锁。如果目标线程在挂起时在监视器上保持锁以保护关键系统资源,则在恢复目标线程之前,没有线程可以访问该资源。如果将恢复目标线程的线程在调用简历之前尝试锁定此监视器,则会导致死锁。

和类LockSupport javadoc说

  

方法停放和取消停放提供了一种有效的阻塞和取消阻塞线程的方法,这些线程不会遇到导致已弃用的方法Thread.suspend和Thread.resume无法用于以下目的的问题:一个线程在调用停顿和尝试另一个线程之间进行竞争根据许可,将其停放下来将保留生命。

我的英语不好,我不明白Thread.suspend和LockSupport.park之间的区别吗?LockSupport.park方法是否在保护关键系统资源的监视器上释放锁定?

0 个答案:

没有答案