当前位置: 首页 > news >正文

网站建设对公司有什么意义眉山网站建设

网站建设对公司有什么意义,眉山网站建设,如何实现网站的纯静态化,模块化网站建设系统Callable接口#xff0c;实现多线程 1.实现 Callable接口#xff0c;相较于实现 Runnable 接口的方式#xff0c;优点是#xff1a;方法可以有返回值#xff0c;并且可以抛出异常 2.需要 FutureTask实现类的支持#xff0c;用于接收运算结果 3.result.get()#xff0c;接…Callable接口实现多线程  1.实现 Callable接口相较于实现 Runnable 接口的方式优点是方法可以有返回值并且可以抛出异常  2.需要 FutureTask实现类的支持用于接收运算结果  3.result.get()接收返回的计算结果在所有的线程没有执行完成之后这里是不会执行的 实现Callable接口 public class RealTimeRiskCallable implements CallableRealTimeRisk {private Logger logger LoggerFactory.getLogger(RealTimeRiskThread.class);private String path;//文件路径private Integer count;//计算文件名称加的区别private ListString deviceName;//设备名称private RealTimeRisk realTimeRisknew RealTimeRisk();//接收风险计算的结果public RealTimeRiskCallable(String path, Integer count,ListString deviceName) {this.path path;this.count count;this.deviceName deviceName;}Overridepublic RealTimeRisk call() throws Exception {try {String paththis.path;//到时候读取配置文件进行配置String bpaPathBPA_EXE_PATHthis.count;String realFilePathpath.substring(0,path.lastIndexOf(/))File.separatorcopyZhthis.count.dat;FileUtil.copyFile(path, realFilePath);//复制一个copyZh.dat文件真正用这个pathrealFilePath;new HealingDat().healing(path,bpaPath);ExecuteBPA bpaExecuteBPA.getANewInstance();Integer code bpa.execute(path,bpaPath);if(code ! 5) {System.err.println(dat文件计算出错!);}else{double lostdataElectricityUtil.getLoadData(bpa);//没有操作之前的负荷数据(损失负荷操作之前的负荷数据-操作过后的负荷数据)ElectricityUtil.setNormalData(lostdata);//存放没有操作之前的负荷值ReadAndWriteDAT readAndWriteDAT ReadAndWriteDAT.getANewInstance(path);EquipmentVo.setAutoStopBusCard(readAndWriteDAT.getAllNoteBCard());// 文件操作前注释的b卡(之后-之前失压的母线)ListString list2 ElectricityUtil.countStation(bpa.readDatFile());EquipmentVo.setThridStationNames(list2);//这里借用了setThridStationNames这个存放值System.out.println(lostdata);}logger.info(开始读取dat文件...);long start System.currentTimeMillis();DataSourceUtil.replaceFileStr(path, this.deviceName);//进行dat对应操作long end System.currentTimeMillis();logger.info(重新写入dat文件成功耗时(end-start)/1000S);realTimeRisknew RealTimeRiskManagerImpl().nowRisk(path,bpaPath);//实时风险计算logger.info(实时风险计算成功);} catch (Exception e) {logger.info(实时风险计算失败);e.printStackTrace();}return realTimeRisk;}public void setCount(Integer count) {this.count count;}public void setDeviceName(ListString deviceName) {this.deviceName deviceName;} } 调用 /*** 多线程进行计算*/ListRealTimeRisk allResult new ArrayListRealTimeRisk();/*//测试数据list.clear();list.add(name南连乙线#type线路);list.add(name广生站#1主变#type主变name广生站#2主变#type主变); list.add(name广生站#2主变#type主变);*/ ExecutorService executorService Executors.newCachedThreadPool();RealTimeRiskCallable realTimeRiskCallable1 null;RealTimeRiskCallable realTimeRiskCallable2 null;FutureTaskRealTimeRisk result1null;FutureTaskRealTimeRisk result2null;RealTimeRisk realTimeRisknew RealTimeRisk();RealTimeRisk realTimeRisk2new RealTimeRisk();long startTimeSystem.currentTimeMillis();pathtempPath;//最初的dat路径上面进行过处理int minVale0;int event0;int temp0;for (int i 0; i list.size(); i) {/*** 目前发现5月份的dat和12月份的dat两个bpa手动快速点击可以进行同时计算但是最新的* 12月份的两个dat修改过名称)不能同时计算目前没有找到原因因此多线程计算也会出现问题* 暂时先注释掉还是先一个个计算多线程需要修改i2* BPA_EXE_PATH1C:\\psap32\\BIN\\pfnt.exe* BPA_EXE_PATH2C:\\copypsap32\\psap32\\BIN\\pfnt.exe*/ // if(list.size()-i2){ // realTimeRiskCallable1 new RealTimeRiskCallable(path,1,Arrays.asList(list.get(i))); // realTimeRiskCallable2 new RealTimeRiskCallable(path,2,Arrays.asList(list.get(i1))); // result1new FutureTaskRealTimeRisk(realTimeRiskCallable1); // result2new FutureTaskRealTimeRisk(realTimeRiskCallable2); // executorService.submit(result1);//Thread.sleep(5000); // executorService.submit(result2); // realTimeRiskresult1.get();//接收返回结果 // allResult.add(realTimeRisk); // realTimeRisk2result2.get();//接收返回结果 // allResult.add(realTimeRisk2); // }else{realTimeRiskCallable1 new RealTimeRiskCallable(path,1,Arrays.asList(list.get(i)));result1new FutureTaskRealTimeRisk(realTimeRiskCallable1);executorService.submit(result1);realTimeRiskresult1.get();//接收返回结果allResult.add(realTimeRisk); // }//获取事故事件等级最低的不为零等级越低事故事件等级越高eventInteger.parseInt(allResult.get(i).getAccidentEventRank());if(event!0){if(temp0){minValeevent;temp;}else{if(eventminVale){minValeevent;}}}}long endTimeSystem.currentTimeMillis();logger.info(耗时(endTime-startTime)/1000S);logger.info(所有风险计算完成共有allResult.size()条风险记录);        转载于:https://www.cnblogs.com/yangcaiwen/p/10307412.html
http://wiki.neutronadmin.com/news/41019/

相关文章:

  • 深圳 网站 传播优秀网站特点
  • 桂林做旅游网站失败的网站网站包括哪些内容吗
  • 青海省建设厅网站备案资料旅游网站建设费用预算
  • wordpress中清理优化大师
  • 今天猪最新价格seo软件定制
  • 聊城做网站乐都网站建设多少钱
  • 哈尔滨有多少家网站建设公司百度官方网站下载
  • 建网页和建网站手机上如何上传wordpress
  • 沙漠网站建设游戏ui设计师网站有哪些
  • 成都响应网站建设创意logo图片大全
  • 常州建设工程交易网站怎样卸载电脑上的wordpress
  • 公司网站服务费计入什么科目网站定制哪家快
  • wordpress小说网站主题哪家做网站的好
  • 网站建设的结论和体会wordpress媒体库显示
  • 天津哪里有做网站的公司网站菜单导航制作教程
  • 廊坊市广阳区建设局网站百度区域代理
  • 卫生系统网站的建设和维护自己做的网站无法访问
  • 三亚网站建设价格成都企业建站
  • 最大的地方门户网站源码wordpress多麦
  • 网站维护外包做婚庆网站图片下载
  • 网站备案进度查询个人简介网页制作
  • 重庆网站设计最佳科技wordpress免费好用主题
  • 永久打开本网站的wordpress 添加外链
  • 社交博客网站开发深圳网站建设及优化
  • 网站开发最好的语言专业酒店设计网站建设
  • 平面设计素材网站有哪些网站5建设需要学什么
  • 建站记录查询佛山网站设计特色
  • 网站开发要学的课程火锅自助餐网站建设
  • 服务网站运营方案开发一个app要多少钱呢
  • 烟台网站建设网站聊城定制化网站建设