package threadTest2;
//子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。
public class Test {
public static void main(String[] args) {
Medium m=new Medium();
new T1(m).start();
synchronized (m) {
while(!m.isStart()) {
try {
m.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
for(int j=0;j<50;j++) {
for(int i=0;i<100;i++) {
System.out.println(Thread.currentThread().getName()+":"+j+":"+i);
}
m.notify();
try {
m.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
class T1 extends Thread{
private Medium m;
public T1(Medium m) {
super();
this.m = m;
}
@Override
public void run() {
synchronized (m) {
m.setStart(true);
for(int j=0;j<50;j++) {
for(int i=0;i<10;i++) {
System.out.println(Thread.currentThread().getName()+":"+j+":"+i);
}
m.notify();
try {
m.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
m.notify();
}
}
}
class Medium{
private boolean start;
public boolean isStart() {
return start;
}
public void setStart(boolean start) {
this.start = start;
}
}
Java_多线程_子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次,如此循环50次,请写出程序。
最新推荐文章于 2021-02-27 13:54:27 发布