多线程的同步
1. 锁对象。
应用场景:当某个数据可能被其他线程修改时,给涉及到数据的方法上锁,保证同一时刻只有拥有这个锁的线程能访问该数据,其他要调用这个方法的线程被阻塞。注意:必须是不同线程访问同一个对象的时候,其中的锁对象也是同一个。
应用方法:
public class Bank { private Lock bankLock = new ReentrantLock(); public void Transfer() { bankLock.lock(); try { .... } finally { bankLock.unlock(); } } }