目录
1、前言
猫厂的笔试题-多线程,做了三次升级。
2、两个线程循环打印 1- 100
请实现两个线程, 使之交替打印 +1+-+100, 如, 两个线程分别为: Printer1+和Printer2, 最后输出结果为
+++Printer1+-+1 奇数
+++Printer2+-+2 偶数
+++Printer1+-+3 奇数
+++Printer2+-+4 偶数
/**
* @Auther:BSA
* @Date: 2020/4/8 23:11
* @see:
* @Description:
*/
public class ThreadDemo {
private final String ThreadNameEven = "+++Printer2+-+";
private final String ThreadNameOdd = "+++Printer1+-+";
// 主线程初始化+调用
public static void main(String[] args){
ThreadDemo threadDemo = new ThreadDemo();
Thread threadEven = new Thread(threadDemo :: printerEven);
Thread threadOdd = new Thread(threadDemo :: printerOdd);
//线程启动
threadOdd.start();
threadEven.start();
}
public synchronized void printerEven(){
for(int i =2;i<=100;i+=2){
System.out.println(ThreadNameEven+i);
this.notify();
try{
this.wait();
}catch(Exception e){
}
}
}
public synchronized void printerOdd(){
for(int i =1;i<100;i+=2){
System.out.println(ThreadNameOdd+i);
this.notify();
try{
this.wa