62,614
社区成员
发帖
与我相关
我的任务
分享
class Port
{
private boolean flag = false;
public synchronized void inWater(){
if(flag){
try{
super.wait();
}catch(Exception e){
e.printStackTrace();
}
}
int i=1;
System.out.println("=====开始进水======");
while(i<=5){
try{
Thread.sleep(300);
}catch(Exception e){
e.printStackTrace();
}
System.out.println("进水"+i+"分钟");
i++;
}
flag = true;
super.notify();
}
public synchronized void outWater(){
if(!flag){
try{
super.wait();
}catch(Exception e){
e.printStackTrace();
}
}
int i=1;
System.out.println("=====开始放水======");
while(i<=5){
try{
Thread.sleep(300);
}catch(Exception e){
e.printStackTrace();
}
System.out.println("放水"+i+"分钟");
i++;
}
flag = false;
super.notify();
}
};
class Inwater implements Runnable
{
Port port = new Port();
public void run(){
port.inWater();
}
};
class Outwater implements Runnable
{
Port port = new Port();
public void run(){
port.outWater();
}
};
public class ThreadDemo01
{
public static void main(String[] args)
{
Inwater in = new Inwater();
Outwater out = new Outwater();
new Thread(in,"进水线程").start();
new Thread(out,"放水线程").start();
}
};