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(); 它会等待所有线程结束后继续往下执行。

  • 相关阅读:
    [转] java代码块 介绍
    win10多用户远程登录
    [读书笔记] learn python the hard way书中 有关powershell 的一些小问题
    Ansible 汇总
    Shell 研究
    Linux CenOS Python3 和 python2 共存
    Ansible安装
    MySQL 5.7.20绿色版安装详细图文教程
    Mysql常用运算符与函数汇总
    mysql 从陌生到熟练之----数据库备份恢复的实现方法
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/4672389.html
Copyright © 2011-2022 走看看