線程池處理部分代碼

 

final CountDownLatch down = new CountDownLatch(newsList.size()); 
     for(final NewsEntity newsEntity : newsList) { 
      taskExecutor.submit(new Callable<Boolean>() { 
       @Override 
       public Boolean call() throws Exception { 
        try { 
          write(newsEntity);//調用處理分析數據 
          deleteOrgNewsById(newsEntity.getOriginalNewsUid());//刪除分析事後源數據 
        }finally { 
         down.countDown(); 
        } 
        return true; 
       } 
      }); 
     } 
     down.await();

配置線程池xmljava

<bean id="taskExecutor"
		class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"
		lazy-init="false">
		<property name="corePoolSize" value="${threadpool.corePoolSize}" />
		<property name="maxPoolSize" value="${threadpool.maxPoolSize}" />
		<property name="queueCapacity" value="${threadpool.queueCapacity}" />
		<!-- <property name="keepAliveSeconds" value="${threadpool.keepAliveSeconds}" />-->
	</bean>
相關文章
相關標籤/搜索