多个线程交替执行

        static  void  test3() throws  InterruptedException{
            Lock lock=new ReentrantLock();
            Condition conditionLock1=lock.newCondition();
            Condition conditionLock2=lock.newCondition();
            Condition conditionLock3=lock.newCondition();
            Thread thread1=new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        while (true) {
                            lock.lock();
                            System.out.println("1");
                           //Thread.sleep(1000);
                           conditionLock2.signal();
                           conditionLock1.await();
                            lock.unlock();
                        }

                    }catch (Exception e){

                    }

                }
            });
            Thread thread2=new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        while (true) {
                            lock.lock();
                            System.out.println("2");
                           //Thread.sleep(1000);
                           conditionLock3.signal();
                          conditionLock2.await();
                            lock.unlock();
                        }
                    }catch (Exception e){

                    }

                }
            });


            Thread thread3=new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        while (true) {
                            lock.lock();
                            System.out.println("3");
                           // Thread.sleep(1000);
                            conditionLock1.signal();
                           conditionLock3.await();
                            lock.unlock();
                        }
                    }catch (Exception e){

                    }

                }
            });

            thread1.start();
            thread3.start();
            thread2.start();
        }

 

posted @ 2022-03-18 17:46  甜菜波波  阅读(53)  评论(0编辑  收藏  举报