本文是异步编程学习之路(七)-Lock锁(同步问题更完美的处理方式),若要关注前文,请点击传送门:
异步编程学习之路(六)-Future和Callable原理及使用
前文我们介绍了通过Future和Callable异步编程和数据分批入库,本文我们来主要讲解一下Lock相关的使用。
一、Lock与Synchronized对比
synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?
在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只