本文章将通过介绍多线程面试题的方式,介绍synchronized和Lock相关的使用方式
首先介绍一下多线程编程的口诀:
线程 操作 资源类(模块的高内聚,低耦合)
判断 干活 通知
防止虚假唤醒
需求:储户,两个,每个都到银行存钱每次存100,,共存三次。
这个题目比较简单,直接用synchronized,就可以实现,使用Lock也可实现,原理是一致的
public void testBand() throws InterruptedException {
CustomerTask customerTask = new CustomerTask();
//顾客一
new Thread(customerTask).start();
//顾客二
new Thread