Java中可以使用Lock和synchronized关键字实现对某个共享资源的同步,同时也可以实现对某些过程的原子性操作。
lock对象常用的方法有两种:lock.lock() 和 lock.tryLock()
lock.lock()是阻塞的,拿不到锁会无限等待下去;
lock.tryLock() 是非阻塞的,调用后立即返回;如果拿到锁就返回true,拿不到就返回false;
调用lock或者tryLock后,都需要调用unlock来解锁。
Java中可以使用Lock和synchronized关键字实现对某个共享资源的同步,同时也可以实现对某些过程的原子性操作。
lock对象常用的方法有两种:lock.lock() 和 lock.tryLock()
lock.lock()是阻塞的,拿不到锁会无限等待下去;
lock.tryLock() 是非阻塞的,调用后立即返回;如果拿到锁就返回true,拿不到就返回false;
调用lock或者tryLock后,都需要调用unlock来解锁。