那天面试,面试官让我写这么一道题,有三个线程ABC
,让我打印10
次ABC
。这题看起相当的简单,以至于我没写出来哈哈哈。而且那个狗屎在线编辑器想好好写代码是不可能的,因为我已经习惯了一套行云流水的快捷键,到在线编译器框框里面我感觉我就是原始人,无从下手。
好了,吐槽就这么多,这个题目还贴心的放了模板。
public class TestThread {
public static void main(String[] args) {
MABC mabc = new MABC();
Thread thread1 = new Thread(new ThreadAbc(mabc, 'A'));
Thread thread2 = new Thread(new ThreadAbc(mabc, 'B'));
Thread thread3 = new Thread(new ThreadAbc(mabc, 'C'));
thread1.start();
thread2.start();
thread3.start();
}
}
class MABC {
}
class ThreadAbc implements Runnable {
}
简单分析一下这个题的目,首先,是看代码规范吧,这个没得说的,其次就是考验多线程的应用,再就是这个ABC
怎么保证顺序,而且多个线程执行的是同一块代码。
话不多说,上代码吧
public class TestThread {
public static void main(String[] args) {
MABC mabc = new MABC();
Thread thread1 = new Thread(new ThreadAbc(mabc, 'A'));
Thread thread2 = new Thread(new ThreadAbc(mabc, 'B'));
Thread thread3 = new Thread(new ThreadAbc(mabc, 'C'));
thread1.start();
thread2.start();
thread3.start();
}
}
class MABC {
public int times = 10;
public int state = 1;
}
class ThreadAbc