JAVA学习日志——线程池等待所有线程结束

参考:https://blog.csdn.net/q258523454/article/details/81978855

自己测试通过的代码片段:

	int numThread = 10;
    	
    	milliSeconds1 = System.currentTimeMillis();
    	
    	ExecutorService fixedThreadPool = Executors.newFixedThreadPool(numThread);

		for(int i = 0; i < numThread; i++) {
			fixedThreadPool.execute(new Runnable () {
				
				public void run() {
					
			    	
			    	for(int i = 0 ; i < n/numThread; i++)
			    	{
			    	  //safe=safe && orderRiskCheckRule2(orderData);
			    	  operations(orderData);
			    	}
					
				}
			});
		}
		
    	if(!fixedThreadPool.isShutdown()) {
    		fixedThreadPool.shutdown();
    	}
    	try {
    		fixedThreadPool.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
    		} catch (InterruptedException e) {
    		}
		
    	
    	
    	
    	milliSeconds2 = System.currentTimeMillis();
    	res = (milliSeconds2-milliSeconds1);
    	msg = "CheckRule2 "+n+" times,total time spent: "+res+" milliseconds.";
    	log.info(msg);

 

你可能感兴趣的:(JAVA)