承接上篇,也可以用LockSupport来实现多线程.
例:一个线程打印 “ABCDEFG”,一个线程打印“1234567”,我想其交替输出,如何做。
public class myLockSupport {
static Thread t1=null,t2=null;
@Test
void test()
{
char[] aI="1234567".toCharArray();
char[] aC="abcdef6".toCharArray();
t1= new Thread(()->{
for(char c:aI){
System.out.println(c);
LockSupport.unpark(t2);// t2 运行
LockSupport.park(); // t1 暂停
}
},"t1");
t2= new Thread(()->{
for(char c:aC){
LockSupport.park(); // t2 暂停
System.out.println(c);
LockSupport.unpark(t1);//t1 运行
}
},"t2");
t1.start();
t2.start();
}
}