8月2日 Java
复习了java中常用类的方法,重点学习了多线程方面的知识。
线程的6种状态以及状态改变的方式。
生产包子的算法主要内容
public void run() {
while (true){
synchronized (baozi) {
if(!baozi.isStatus()){
System.out.println("开始生产"+baozi.getPi()+"皮"+baozi.getXian()+"馅的包子..................");
baozi.setStatus(true);
}
if(baozi.isStatus()){
try {
baozi.wait(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
baozi.notify();
}
}
}
吃包子的算法
public void run() {
while (true) {
synchronized (baozi) {
if(!baozi.isStatus()){
try {
baozi.wait(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (baozi.isStatus()){
System.out.println("有包子,直接开吃.............吃的是"+baozi.getPi()+"皮"+baozi.getXian()+"馅的包子..................");
baozi.setStatus(false);
}
}
}
}
synchronized关键!