加锁的方式

2018-04-08  本文已影响0人  hhws

一.Java多线程可以通过:

  1. synchronized关键字

  2. Java.util.concurrent包中的lock接口和ReentrantLock实现类

这两种方式实现加锁。

对比:
 1)Lock不是Java语言内置的,synchronized是Java语言的关键字,因此是内置特性。Lock是一个类,通过这个类可以实现同步访问;

2)Lock和synchronized有一点非常大的不同,采用synchronized不需要用户去手动释放锁,当synchronized方法或者synchronized代码块执行完之后,系统会自动让线程释放对锁的占用;而Lock则必须要用户去手动释放锁,如果没有主动释放锁,就有可能导致出现死锁现象。

上一篇 下一篇

猜你喜欢

热点阅读