zoukankan      html  css  js  c++  java
  • 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次.....如此循环50次

    <span style="font-size:18px;">package src.com.cjlthread.java;
    /*
     * 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次.....如此循环50次
     */
    public class TraditionalThreadCommunication {
    	public static void main(String[] args) {
    		final Business business=new Business();
    		new Thread(new Runnable() {
    			@Override
    			public void run() {
    				for (int i = 1; i <= 50; i++) {
    					business.sub(i);
    				}
    			}
    		}).start();
    		for (int i = 1; i <= 50; i++) {
    			business.main(i);
    		}
    	}
    }
    class Business{
    	private boolean bShouldSub=true;
    	public synchronized void sub(int i){
    		if (!bShouldSub) {
    			try {
    				this.wait();
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    		}
    		for (int j = 1; j <= 10; j++) {
    			System.out.println("sub Thread sequece of"+j+",loop of"+i);
    		}
    		bShouldSub=false;
    		this.notify();
    	}
    	public synchronized void main(int i){
    		if (bShouldSub) {
    			try {
    				this.wait();
    			} catch (InterruptedException e) {
    				e.printStackTrace();
    			}
    		}
    		for (int j = 1; j <= 100; j++) {
    			System.out.println("sub Thread sequece of"+j+",loop of"+i);
    		}
    		bShouldSub=true;
    		this.notify();
    	}
    }</span>
    

  • 相关阅读:
    这些诗词你知道一句,却不知全诗!
    二十二、事件绑定及深入
    二十一、事件对象
    二十、事件入门
    十九、动态加载脚本和样式
    十八、DOM元素尺寸和位置
    十七、DOM操作表格及样式
    十六、DOM进阶
    十五、DOM基础
    正确使用volatile场景--状态标志
  • 原文地址:https://www.cnblogs.com/Rollins/p/4524891.html
Copyright © 2011-2022 走看看