前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CountDownLatch 部分加载和同时并发业务。

CountDownLatch 部分加载和同时并发业务。

作者头像
爱撸猫的杰
发布2019-10-23 19:50:05
2900
发布2019-10-23 19:50:05
举报
文章被收录于专栏:爱撸猫的杰爱撸猫的杰

按顺序部分加载:

代码语言:javascript
复制
import java.util.concurrent.CountDownLatch;

/**
 * @Title: ThreadCountDownTest.java
 * @Description:
 * @author: wuwenjie
 * @date: 2019.07.17 16:43
 * 
 */
public class ThreadCountDownTest {

    public static void main(String[] args) {
// 初始化闭锁,并设置资源个数
        CountDownLatch latch = new CountDownLatch(2);

        Thread t1 =new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1000);
            //加载1
                    latch.countDown();
                    System.out.println(111);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });


        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(12000);
            //加载2
                    latch.countDown();
                    System.out.println(222);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });

        Thread t3 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
            
                    latch.await();
             //加载完成业务使用
                    System.out.println(333);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        t1.start();
        t2.start();
        t3.start();

    }

}

2.同时业务并发处

代码语言:javascript
复制
import java.util.concurrent.CountDownLatch;

public class ThreadCountDownTest {

    public static void main(String[] args) {
// 初始化闭锁,并设置资源个数
        CountDownLatch latch = new CountDownLatch(2);

        Thread t1 =new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1000);
                    latch.countDown();
            //等待所有执行完,并发
                    latch.await();

                    System.out.println(111);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });

        Thread t2 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(12000);
                    latch.countDown();
                    latch.await();
                    System.out.println(222);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });

        Thread t3 = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    latch.await();
                    System.out.println(333);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        t1.start();
        t2.start();
        t3.start();

    }

}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档