CountDownLatch使用

@RequestMapping(value = "/return", method = RequestMethod.POST)
	private JsonResult returnDeposit(@RequestBody Map<String, Object> params) {
	 //新建一个线程池
 ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
CountDownLatch cdl = new CountDownLatch(2);//这个数量写你新建子线程的数量

cachedThreadPool.execute(new Runnable() {

				 @Override
				 public void run() { 
					logger.info("第一个线程"); 
					//完成,计数器减一 
					 cdl.countDown();
				  }
				 });
 cachedThreadPool.execute(new Runnable() {

				 @Override
				 public void run() { 
					logger.info("第2个线程"); 
					//完成,计数器减一 
					 cdl.countDown();
				  }
				 });
//等子线程执行完 
			 	try {
			    	cdl.await();
			    } catch (Exception e) {
			    	logger.error(e.toString());
			    }
			 cachedThreadPool.shutdown();
	 return new JsonResult(ResultCode.SUCCESS,"成功");
 }
posted @ 2017-12-25 14:18  qwer78  阅读(19)  评论(0)    收藏  举报