简述synchronized和java.util.concurrent.locks.lock的异同

  主要相同点:lock能完成synchronized所实现的所有功能

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

posted @ 2017-07-20 16:01  legends  阅读(293)  评论(0编辑  收藏  举报