标签:orm zha time stat value null text dex override
package com.yd.wmsc.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.CountDownLatch; public class CountDownLatchDemo { final static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws InterruptedException { CountDownLatch latch=new CountDownLatch(2);//两个工人的协作 Worker worker1=new Worker("zhang san", 5000, latch); Worker worker2=new Worker("li si", 8000, latch); worker1.setUncaughtExceptionHandler(new MyUncaughtExceptionHandler(latch)); worker2.setUncaughtExceptionHandler(new MyUncaughtExceptionHandler(latch)); worker1.start(); worker2.start(); latch.await();//等待所有工人完成工作 System.out.println("all work done at "+sdf.format(new Date())); } static class Worker extends Thread{ String workerName; int workTime; CountDownLatch latch; public Worker(String workerName ,int workTime ,CountDownLatch latch){ this.workerName=workerName; this.workTime=workTime; this.latch=latch; } public void run(){ System.out.println("Worker "+workerName+" do work begin at "+sdf.format(new Date())); doWork();//工作了 System.out.println("Worker "+workerName+" do work complete at "+sdf.format(new Date())); latch.countDown();//工人完成工作,计数器减一 } private void doWork(){ System.out.println(String.valueOf(null)); try { Thread.sleep(workTime); } catch (InterruptedException e) { e.printStackTrace(); } } } }
package com.yd.wmsc.util; import java.util.concurrent.CountDownLatch; import org.apache.log4j.Logger; public class MyUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler{ private static final Logger logger = Logger.getLogger(MyUncaughtExceptionHandler.class); private CountDownLatch latch; public MyUncaughtExceptionHandler(CountDownLatch latch){ this.latch = latch; } @Override public void uncaughtException(Thread t, Throwable e) { logger.error("An exception has been captured,Thread:" + t.getId() + ",ThreadName:" + t.getName() + ",Thread status:" + t.getState(), e); latch.countDown(); } }
CountDownLatch MyUncaughtExceptionHandler
标签:orm zha time stat value null text dex override
原文地址:http://www.cnblogs.com/tonggc1668/p/7827883.html