zoukankan      html  css  js  c++  java
  • 简述synchronized和java.util.concurrent.locks.Lock异同

    主要相同点:Lock能完成synchronized所实现的所有功能。
    主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。syncronized会自动释放锁,而Lock一定要程序员手动释放,并且必须在finally从句中释放。Lock还有更强大的功能,例如它的tryLock()方法可以以非阻塞方式去拿锁

    synchronized (lockObject) {   
      // update object state  
    }   
    Lock lock = new ReentrantLock();  //java.util.concurrent.locks.ReentrantLock为Lock的实现类
    lock.lock(); 
    try { 
    // update object state  
    } finally { 
      lock.unlock(); 
    } 
  • 相关阅读:
    PKU 1860 Currency Exchange 最短路 bellman
    PKU 3259 Wormholes 最短路 bellman
    bzoj3514
    bzoj2594
    bzoj3901
    bzoj2843&&1180
    bzoj2631
    bzoj2049
    bzoj2002
    bzoj1146
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/7019874.html
Copyright © 2011-2022 走看看