线程1负责打印a,b,c,d
线程2负责打印1,2,3,4
要求控制台中输出的内容为 a1b2c3d4
package com.sdmjhca.springBootDemo.countdownlatch; /** * @author JHMI on 2017/8/28. */ public class TestMain {static final Object object = new Object(); public static void main(String[] args) throws InterruptedException {new Thread(new Runnable() {String a[] = { "a","b","c","d"}; @Override public void run() {for(int i=0;i< 4 ;i++){synchronized (object){System.out.println("线程a 开始执行"); object.notify(); try {System.out.println("线程a 开始等待"); object.wait(); } catch (InterruptedException e) {e.printStackTrace(); }System.out.println("线程a 继续执行"); System.out.println(a[i]); System.out.println("线程a 执行结束"); object.notify(); }}}}).start(); new Thread(new Runnable() {int a[] = { 1,2,3,4}; @Override public void run() {for(int i=0;i<4;i++){synchronized (object){System.out.println("线程1 开始执行"); object.notify(); try {System.out.println("线程1 开始等待"); object.wait(); } catch (InterruptedException e) {e.printStackTrace(); }System.out.println("线程1 继续执行"); System.out.println(a[i]); System.out.println("线程1 执行结束"); }}}}).start(); } }