zoukankan      html  css  js  c++  java
  • 编写多线程代码时,启动线程后等待线程结束方法

    在编写多线程代码时,如果主线程结束,那么子线程也会随之结束,如何等待线程结束再往下执行。

     

    等待线程执行完成代码。

     

    线程代码:

     

    package demo;

    import java.util.concurrent.CountDownLatch;

    public class NodeSqlThread1 implements Runnable{
       
        private CountDownLatch cdlSync;
       
        public NodeSqlThread1(CountDownLatch cdlSync){
            this.cdlSync=cdlSync;
        }
       

        @Override
        public void run() {
            for(int i=0;i<100;i++){
                try {
                    Thread.sleep(50);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            cdlSync.countDown();
        }
       
       
    }

     

    package demo;

    import java.util.concurrent.CountDownLatch;

    import com.hotent.BaseTestCase;

    public class NodeSqlTest1 extends BaseTestCase {

        static CountDownLatch cdlSync=new CountDownLatch(10);
       
        @org.junit.Test
        public void test() throws InterruptedException{
            NodeSqlThread1 t =new NodeSqlThread1(cdlSync);
            for(int i =0;i< 10;i++){
                new Thread(t).start();
            }
            cdlSync.await();
            System.out.println(cdlSync.getCount()+"完成");
        }

    }

    最重要的是  cdlSync.await(); 它会等待所有线程结束后继续往下执行。

  • 相关阅读:
    51nod 1127 最短的包含字符串
    hdu 2197 本原串
    hdu 2160 母猪的故事
    hdu 2594 Simpsons’ Hidden Talents
    自旋锁原理及java自旋锁
    Java中CAS详解
    dump相关
    多线程设置线程超时思路
    kafka遗忘点
    Java 和 HTTP 的那些事(四) HTTPS 和 证书(转)
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/4672389.html
Copyright © 2011-2022 走看看