这是一道经典的Java多线程面试题。自己写了一种较为巧妙的方法:
package JavaDay5_27;
import java.util.Collections;
/**
* @author myvina@qq.com
* @date 18-5-27 下午8:00
*/
public class Demo1 {
public static void main(String[] args) {
Demo1 demo1 = new Demo1();
PrintLetter printLetter = demo1.new PrintLetter();
new Thread(demo1.new PrintThread(printLetter, 'B')).start();
new Thread(demo1.new PrintThread(printLetter, 'A')).start();
new Thread(demo1.new PrintThread(printLetter, 'C')).start();
// Collections.synchronizedList()
}
private class PrintLetter {
private char letter = 'A';
public char getLetter() {
return letter;
}
public void print() {
System.out.print(letter);
if('C' == letter) {
System.out.println();
}
}
public void next