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

  • 相关阅读:
    安全管道工具SSF
    Dumpzilla工具第615行bug的解决办法
    火狐浏览器信息提取工具Dumpzilla
    通过构造函数来创建新对象
    利用canvas绘制序列帧动画
    canvas的图片绘制案例
    使用canvas绘制饼状图
    模仿制作京东的侧边提示栏
    使用canvas绘制扇形图
    使用canvas制作简单表格
  • 原文地址:https://www.cnblogs.com/yg_zhang/p/4672389.html
Copyright © 2011-2022 走看看