123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package com.gyee.generation.task.thread;
- import com.gyee.generation.model.auto.ProEconEquipmentInfoDay1;
- import com.gyee.generation.model.auto.ProEconWindturbineGoodness;
- import com.gyee.generation.service.CoefficientService;
- import com.gyee.generation.service.GoodnessOfFitService;
- import com.gyee.generation.service.auto.ITurbineInfoMinService;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.concurrent.CountDownLatch;
- import java.util.concurrent.ExecutionException;
- import java.util.concurrent.Executor;
- import java.util.concurrent.FutureTask;
- public class GoodnessOfFitThread implements Runnable {
- private Logger logger = LoggerFactory.getLogger(this.getClass());
- private Executor executor;
- private int i;
- private Date recordDate;
- private CoefficientService coefficientService;
- private GoodnessOfFitService goodnessOfFitService;
- private Map<String, ProEconEquipmentInfoDay1> equipmentInfoDay1Map;
- private List<ProEconWindturbineGoodness> vos;
- private CountDownLatch latch;
- private ITurbineInfoMinService turbineInfoMinService;
- public GoodnessOfFitThread(Executor executor, int i, Date recordDate, CoefficientService coefficientService,
- GoodnessOfFitService goodnessOfFitService,
- ITurbineInfoMinService turbineInfoMinService, Map<String, ProEconEquipmentInfoDay1> equipmentInfoDay1Map, List<ProEconWindturbineGoodness> vos,
- CountDownLatch latch) {
- this.executor = executor;
- this.i = i;
- this.recordDate = recordDate;
- this.coefficientService = coefficientService;
- this.goodnessOfFitService = goodnessOfFitService;
- this.equipmentInfoDay1Map = equipmentInfoDay1Map;
- this.turbineInfoMinService = turbineInfoMinService;
- this.vos = vos;
- this.latch = latch;
- }
- @Override
- public synchronized void run() {
- String task = "task@ " + i;
- logger.info("功率一致性系数创建任务并提交到线程池中:" + i);
- FutureTask<String> futureTask = new FutureTask<String>(new GoodnessOfFitThreadPool(task, i, recordDate, coefficientService,
- goodnessOfFitService,turbineInfoMinService,
- equipmentInfoDay1Map, vos));
- executor.execute(futureTask);
-
- String result = null;
- try {
-
- result = futureTask.get();
- } catch (InterruptedException e) {
- futureTask.cancel(true);
- } catch (ExecutionException e) {
- futureTask.cancel(true);
- } catch (Exception e) {
- futureTask.cancel(true);
-
- } finally {
- latch.countDown();
- }
- }
- }
|