实现两个线程交替输出。
例:有两个数组其中A:【1,2,3,4,5,6】,B:【A,B,C,D,E,F】,让他们交替输出结果:1A2B3C4D5E6F。
代码实现:
//创建两个线程
static Thread t1 = null,t2 = null;
public static void main(String[] args) {
//创建两个数组
char[] aI = "123456".toCharArray();
char[] aC = "ABCDEF".toCharArray();
t1= new Thread(() -> {
for(char a : aI){
System.out.print(a);
LockSupport.unpark(t2);//叫醒t2线程
LockSupport.park();//阻塞自己
}
});
t2 = new Thread(() -> {
for(char c : aC){
LockSupport.park();//阻塞自己
System.out.print(c);
LockSupport.unpark(t1);//叫醒t2线程
}
});
t1.start();
t2.start();