JAVA(10)-多线程-LockSupport

承接上篇,也可以用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();
    }



}

猜你喜欢

转载自blog.csdn.net/aggie4628/article/details/107253831