Java多线程 - 尝试获取锁定,直到经过一段时间后?

use*_*032 1 java concurrency multithreading synchronization

浏览了一下后,我无法找到问题的解决方案.

我有一个类box.java,它有自己的锁,包含一个方法methodA和一个methodB.

我有多个线程试图访问这些框对象.我想要的是线程尝试执行methodA,并在一定时间后,如果它无法获取框上的锁,然后执行methodB.

有没有办法在Java中这样做?

提前致谢!

小智 5

java.util.concurrent.locks.Lock接口有一个tryLock(long, TimeUnit),不只是那方法.

请参阅http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html

据我所知,内置的监视器锁(synchronized关键字使用的锁)是不可能的.