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