1.回顾
在继承Thread类创建线程方法中,是否可以通过synchronized来实现并发编程。(多个线程操作一段代码,保证代码执行过程安全。)
【案例】
MyThread.java
MyTest.java
2.基于方法加锁的做法
语法:
public synchronized 返回值 method(){
//body
}
快捷方法:
【案例】
MyThread2.java
3.线程同步编程模式
thread的api:
wait(),让当前代码执行停下来等待。
notify(),将执行权通知给其他线程。
【案例】模拟2个人相当于2个线程,A刷牙占用卫生间,A让出卫生间,B刷牙,B让出卫生间,A洗手,A让出卫生间,B洗手。
分析:每个人都干两件事,一件事结束,让另一个人干一件事,再让出来,再换人执行。
项目结构:
Person.java
MyTest.java
日志: