按顺序部分加载:

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.同时业务并发处

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(); } }

CountDownLatch 部分加载和同时并发业务。的更多相关文章

  1. js实现『加载更多』功能实例

    DEMO : 滚动加载示例 关于如何实现『加载更多』功能,网上有插件可用,例如比较著名的使用iscroll.js实现的上拉加载更多.下拉刷新功能. 但实际用起来却是很麻烦.由于是第三方插件,要按照对方 ...

  2. 高效使用Bitmaps(二) 后台加载Bitmap

    转载:http://my.oschina.net/rengwuxian/blog/183802 为什么要在后台加载Bitmap? 有没有过这种体验:你在Android手机上打开了一个带有含图片的Lis ...

  3. 27 Java动态加载第三方jar包中的类

    我加载的方法是://参数fileName是jar包的路径,processorName 是业务类的包名+类名public static A load(String fileName, String pr ...

  4. js同步、异步、延时、无阻塞加载

    一.同步加载 平常默认用的都是同步加载.如:<script src="http://yourdomain.com/script.js"></script> ...

  5. 加载rocksdb实例报错:java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\librocksdbjni3696928169151614297.dll

    项目的缓存中用到了rocksdb,实例化时报错了: Related cause: org.springframework.beans.factory.BeanCreationException: Er ...

  6. 反射01 Class类的使用、动态加载类、类类型说明、获取类的信息

    0 Java反射机制 反射(Reflection)是 Java 的高级特性之一,是框架实现的基础. 0.1 定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对 ...

  7. liteos分散加载(十四)

    1. 概述 1.1 基本概念 分散加载是一种实现特定代码快速启动的技术,通过优先加载特定代码到内存,达到缩短从系统开机到特定代码执行的时间.可被应用来实现关键业务的快速启动. 嵌入式系统通过uboot ...

  8. 前端性能优化 css和js的加载与执行

    一个网站在浏览器端是如何进行渲染的? html本身首先会被渲染成 DOM 树,实际上 html 是最先通过网址请求过来的,请求过来之后,html 本身会由一个字节流转化成一个字符流,浏览器端拿的就是字 ...

  9. Java 并发专题 :FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等

    继续并发专题~ FutureTask 有点类似Runnable,都可以通过Thread来启动,不过FutureTask可以返回执行完毕的数据,并且FutureTask的get方法支持阻塞. 由于:Fu ...

随机推荐

  1. TIJ——Chapter Ten:Inner Classes

    先提纲挈领地来个总结: 内部类(Inner Class)有四种: member inner class,即成员内部类.可以访问外部类所有方法与成员变量.生成成员内部类对象的方法:OuterClass. ...

  2. AT2346 No Need

    atcoder上的题目 链接 一道思维题目 可以发现如果X是可有可无的,那么所有小于X的数也一定是可有可无的, 所有我们只要找出最大的那个可有可无的数字就好了 进一步分析,发现 若A1, A2, . ...

  3. 3DMAX安装失败怎样卸载重新安装3DMAX,解决3DMAX安装失败的方法总结

    技术帖:3DMAX没有按照正确方式卸载,导致3DMAX安装失败.楼主也查过网上关于如何解决3DMAX安装失败的一些文章,是说删除几个3DMAX文件和3DMAX软件注册表就可以解决3DMAX安装失败的问 ...

  4. 瑞星推国内唯一Linux系统杀毒软件 国产操作系统还需国产安全软件保护

    近来在IT领域最爆炸的新闻莫过于5月20日中央国家机关政府採购中心下发通知.要求中央机关採购所有计算机类产品不同意安装Windows 8.而改用国产Linux操作系统. 此消息一出,立马引起各界关注. ...

  5. 关于Spring+mybatis+PageHelper分页插件PageHelper的使用策略

    把插件jar包导入项目(具体上篇有介绍http://blog.csdn.net/qq_33624284/article/details/72821811) spring-mybatis.xml文件中配 ...

  6. TCP之传输对象 客户端传输user对象到服务端 验证登录是否合法

    Server.java package com.sxt.tcp4; import java.io.IOException; import java.io.ObjectInputStream; impo ...

  7. 2019-9-18-WPF-笔刷绑定不上可能的原因

    title author date CreateTime categories WPF 笔刷绑定不上可能的原因 lindexi 2019-09-18 09:46:14 +0800 2019-9-18 ...

  8. 2019-8-31-dotnet-core-输出调试信息到-DebugView-软件

    title author date CreateTime categories dotnet core 输出调试信息到 DebugView 软件 lindexi 2019-08-31 16:55:58 ...

  9. git 练习

    删除文件 git rm test.txt git  commit -m 'remove test.txt' 回复到最新版本 git checkout -- test.txt git checkout ...

  10. Go 语言开发工具

    Go 语言开发工具 LiteIDE LiteIDE是一款开源.跨平台的轻量级Go语言集成开发环境(IDE). 支持的操作系统 Windows x86 (32-bit or 64-bit) Linux ...