我有个这样的需求synchronized(Object){
  
}
像上面一样,如果遇到Object是被其他线程获得锁的话,我就立刻不执行里面的同步快的内容,
这个怎样做

解决方案 »

  1.   

    可以使用java.util.concurrent.locks.ReentrantLock class X {
       private final ReentrantLock lock = new ReentrantLock();
       // ...   public void m() { 
         lock.lock();  // block until condition holds
         try {
           // ... method body
         } finally {
           lock.unlock()
         }
       }
     }然后使用这个类的tryLock(long timeout, TimeUnit unit) 方法就可以