JAVA多线程 基础知识 001
2016-09-22 10:10
281 查看
假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。在这个需求中,要实现主线程等待所有线程完成sheet的解析操作,最简单的做法是使用join。代码如下
publicclassJoinCountDownLatchTest { publicstaticvoidmain(String[] args) throwsInterruptedException { Thread parser1 = newThread(newRunnable() { @Override publicvoidrun() { } }); Thread parser2 = newThread(newRunnable() { @Override publicvoidrun() { System.out.println("parser2 finish"); } }); parser1.start(); parser2.start(); parser1.join(); parser2.join(); System.out.println("all parser finish"); }
闭锁相当于一扇门,在闭锁到达结束状态之前,这扇门一直是关闭着的,没有任何线程可以通过,当到达结束状态时,这扇门才会打开并容许所有线程通过。它可以使一个或多个线程等待一组事件发生。闭锁状态包括一个计数器,初始化为一个正式,正数表示需要等待的事件数量。countDown方法递减计数器,表示一个事件已经发生,而await方法等待计数器到达0,表示等待的事件已经发生。CountDownLatch强调的是一个线程(或多个)需要等待另外的n个线程干完某件事情之后才能继续执行。
相关文章推荐
- java多线程基础知识:如何编写线程安全代码
- Java 多线程(一) 基础知识与概念
- Java基础知识整理四(多线程编程以…
- 黑马程序员学习log第四篇基础知识:JAVA的面向对象之多线程总结
- 黑马程序员---java基础知识之多线程
- Java多线程编程总结笔记——一多线程基础知识
- Java多线程基础知识
- java 多线程基础知识2---同步机制
- java基础知识 多线程
- java基础知识回顾之java Thread类学习(五)--java多线程安全问题(锁)同步的前提
- Java多线程基础知识
- Java多线程基础知识总结笔记
- 黑马程序员-Java基础知识预备之Java多线程
- java 多线程基础知识3----线程封闭
- Java多线程1——基础知识
- Java 多线程(一) 基础知识与概念
- Java多线程1——基础知识
- JAVA基础知识之java多线程时数据同步问题
- 黑马程序员:java基础知识(多线程)
- Java 多线程基础知识之线程封闭