package com.cheguo.adminmanage;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* Created with IntelliJ IDEA.
*
* @author: yangxianyu
* Date: 2018/6/10
* Time: 下午9:33
* Description:
*/
public class testMain {
static volatile int count = 1;
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(3);
executorService.submit(new TestPrint(0,"thread1"));
executorService.submit(new TestPrint(1,"thread2"));
executorService.submit(new TestPrint(2,"thread3"));
}
static class TestPrint implements Runnable{
private int number;
private String threadname;
public TestPrint(int number,String threadname){
this.number=number;
this.threadname=threadname;
}
@Override
public void run() {
synchronized (TestPrint.class){
while (count<100){
if(count/3 % 3 == number){
int j = count;
for(int i = j;i<j+3;i++){
System.out.println(threadname+"|"+count);
count++;
}
TestPrint.class.notifyAll();
}else {
try {
TestPrint.class.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
}
}