一个朋友公司经常出的面试题
前段练手写的
/**
* 两个线程交替打印 1 2 1 2 .。。。
* @version
* @author flyer 2018年11月13日下午4:38:05
* @since 1.8
*/
public class TestThreadPrint {
// Lock lock = new ReentrantLock();
volatile static boolean flag = false;
public static void main(String[] args) {
Thread a = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
if (!flag) {
System.out.println("1");
flag = true;
}
}
}
});
Thread b = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
if (flag) {
System.out.println("2");
flag = false;
}
}
}
});
a.start();
b.start();
// Thread b = new Thread(() -> System.out.println("2"));
}
}