子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次-004

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次-004相关的知识,希望对你有一定的参考价值。

子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次
public class Sub10Main100Loop50Thread {

	public static void main(String[] args) throws InterruptedException {
		
		Business business = new Business();
		new Thread(new Runnable(){
			@Override
			public void run() {
				for(int i=0;i<5;i++){
					business.sub(i);
				}
			}
		}){}.start();
		Thread.sleep(1000);//目的是让子线程先跑
		
		for(int i=0;i<50;i++){
			business.main(i);
		}
	}
}

class Business{
	public synchronized void sub(int i){
		for(int j=0;j<10;j++){
			System.out.println(Thread.currentThread().getName()+ "  "+j);
		}
		this.notify();
		try {
			this.wait();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public synchronized void main(int i){
		
		for(int j=0;j<100;j++){
			System.out.println(Thread.currentThread().getName()+ "  "+j);
		}
		
		this.notify();
		try {
			this.wait();
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

参考:http://blog.csdn.net/xiaoyu714543065/article/details/8257394

 

以上是关于子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次-004的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程与并发库高级应用-传统线程同步通信技术

两个线程交替打印信息

Java多线程与并发库4.传统线程同步通信技术

java:多线程面试题

多线程练习题

线程互斥通信