思路1 :用一个变量记录属于哪个线程执行,然后另外一个线程阻塞掉即可。
public class main { static volatile int a = 1; public static void main(String[] args) { new Thread(new Runnable() { @Override public void run() { for(int i = 0 ; i < 26 ; i++){ while(a % 2 == 1){ try { Thread.currentThread().interrupt(); } catch (Exception e) { e.printStackTrace(); } } System.out.println(a/2); a = a+1; } } }).start(); new Thread(new Runnable() { @Override public void run() { for(int i = 0 ; i < 26 ; i++){ while(a % 2 == 0){ try { Thread.currentThread().interrupt(); } catch (Exception e) { e.printStackTrace(); } } System.out.println((char)((a/2)+'A')); a = a+1; } } }).start(); } }