package itat;
public class Example9_15 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int m=0;
A target=new A();
target.name="张三";
Thread thread=new Thread(target);
thread.setName(target.name);
thread.start();
while(true){
m++;
System.out.println("我是主线程m="+m);
if(m==20){
System.out.println("让"+thread.getName()+"继续工作");
target.huifu();
break;
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class A implements Runnable{
int i=0;
String name;
public void run(){
while(true){
i++;
System.out.println(name+"i="+i);
if(i==5){
guaqi();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public synchronized void guaqi() {
// TODO Auto-generated method stub
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public synchronized void huifu() {
notifyAll();
}
}