package util;
public class T {
public static void main(String[] args) {
final T1 t1=new T1();
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<50;i++){
t1.sideT();
}
}
}).start();
for(int i=0;i<50;i++){
t1.mainT();
}
}
}
class T1{
private boolean flag =true;
public synchronized void mainT(){
if(flag){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for(int i=0;i<100;i++){
System.out.println(Thread.currentThread().getName()+"主线程"+i);
}
flag=true;
this.notify();
}
public synchronized void sideT(){
if(!flag){
try {
this.wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for(int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName()+"子线程"+i);
}
flag=false;
this.notify();
}
}
子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序
最新推荐文章于 2020-07-12 21:55:54 发布