吴文杰的个人github博客

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

按顺序部分加载:

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

 

posted @ 2019-10-21 10:20  我是2货呀  阅读(147)  评论(0编辑  收藏  举报
Live2D