同步锁分为两种sychronized和Lock:
sychronized:
同步关键字,被该关键字修饰的代码块具有原子性,即使发生线程抢占该代码块的情况,首次进入的线程会给该代码块加锁,其他线程进入阻塞状态。
Lock:
是java.util.concurrent.locks包下的接口。在使用时使用ReentrantLock这个实现类来创建Lock对象,调用lock()为代码块加锁,记住需要使用再次调用unLock()为代码块解锁。从而实现同步锁操作。
同步锁分为两种sychronized和Lock:
sychronized:
同步关键字,被该关键字修饰的代码块具有原子性,即使发生线程抢占该代码块的情况,首次进入的线程会给该代码块加锁,其他线程进入阻塞状态。
Lock:
是java.util.concurrent.locks包下的接口。在使用时使用ReentrantLock这个实现类来创建Lock对象,调用lock()为代码块加锁,记住需要使用再次调用unLock()为代码块解锁。从而实现同步锁操作。