Java实现监控多个线程状态的实现
来源:互联网 发布:win7隐藏网络连接不上 编辑:程序博客网 时间:2024/06/06 03:56
转载自http://blog.csdn.net/lxw2100/article/details/5944135
场景:需要启动多线程处理事情,而在所有事情做完之后,需要修改系统状态;那么如何判断所有线程(事情)都做完了呢?这就需要判断所有当前运行的线程状态了。
import java.util.concurrent.CountDownLatch;import java.util.concurrent.Executor;import java.util.concurrent.Executors;/** * 测试监控类 * * @author * */public class WatchThread { /** * 测试函数 * * @throws InterruptedException */ public void testThread() throws InterruptedException { int threadNum = 10; // 初始化countDown CountDownLatch threadSignal = new CountDownLatch(threadNum); // 创建固定长度的线程池 Executor executor = Executors.newFixedThreadPool(threadNum); for (int i = 0; i < threadNum; i++) { // 开threadNum个线程 Runnable task = new TestThread(threadSignal); // 执行 executor.execute(task); } threadSignal.await(); // 等待所有子线程执行完 // do work System.out.println(Thread.currentThread().getName() + "+++++++结束."); } /** * 测试函数 */ public static void main(String[] args) throws InterruptedException { WatchThread test = new WatchThread(); test.testThread(); } /** * * @author jill * */ private class TestThread implements Runnable { private CountDownLatch threadsSignal; public TestThread(CountDownLatch threadsSignal) { this.threadsSignal = threadsSignal; } public void run() { System.out.println(Thread.currentThread().getName() + "开始..."); // do shomething System.out.println("开始了线程::::" + threadsSignal.getCount()); // 线程结束时计数器减1 threadsSignal.countDown(); System.out.println(Thread.currentThread().getName() + "结束. 还有" + threadsSignal.getCount() + " 个线程"); } }}
0 0
- Java实现监控多个线程状态的实现
- Java实现监控多个线程状态的实现
- Java实现监控多个线程状态的实现
- 基于 JVMTI 实现 Java 线程的监控
- 基于 JVMTI 实现 Java 线程的监控
- 基于 JVMTI 实现 Java 线程的监控
- java 线程与进程 线程的实现 线程状态
- java线程的多个状态
- Java实现对程序运行状态的监控
- 求助:TelephonyManager.listen 监听使用的问题--如何实现TM同时监控多个状态的改变
- 基于Java线程实现后台定时监控
- PHP,操作多个用户,多个线程的session,实现用户登陆状态session值的自动更新
- 安全稳定的实现进线程监控
- 安全稳定的实现进线程监控
- 安全稳定的实现进线程监控
- 安全稳定的实现进线程监控
- 安全稳定的实现进线程监控
- 安全稳定的实现进线程监控
- VLAN访问控制列表
- ngx_queue_t双向链表
- 杭电1076 An Easy Task
- C#高级编程五十天----栈
- CiscoWork2000使用感
- Java实现监控多个线程状态的实现
- 奖学金文章更新 连载10第一篇 黄江桂 海口第1期学员
- 数据位交换
- java web 开发环境部署,zving框架
- Postfix邮件服务器搭建(五)
- 一些开发有用的资源网址
- 设计模式-适配器模式(Adapter Pattern)
- 在Oracle表数据和xml文件间相互导入导出
- 2012年5月SAT香港真题解析