FutureTask的简单使用

本文通过使用固定线程池并行处理商品销售、进货及SKU相关信息,提高数据处理效率。具体包括获取各店铺销售记录、库存信息及SKU的上级信息,并将这些数据整合用于进一步分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(5);
//销售sku(按sku分)
      FutureTask<List<Map<String, Object>> > getSales = new FutureTask<List<Map<String, Object>> >(new Callable(){  
          @Override
          public List<Map<String, Object>> call() throws Exception{
          //找到所有店铺销售所有的sku
          List<Map<String, Object>> allSaleSku = goodsProductDOMapper.selectAllSkuSale(map);
      return allSaleSku;
          }  
      });
      newFixedThreadPool.submit(getSales);
      
//进货sku(按sku分)
      FutureTask<List<Map<String, Object>> > getIns = new FutureTask<List<Map<String, Object>> >(new Callable<List<Map<String, Object>>>(){  
             @Override
             public List<Map<String, Object>> call() throws Exception{
              //找到所有店铺库存所有的sku
              List<Map<String, Object>> allInSku = goodsProductDOMapper.selectAllSkuIn(map);
               return allInSku;
             }  
         });
       newFixedThreadPool.submit(getIns);
       
      //定义全部数据容器
      FutureTask<List<Map<String, Object>>> getSkuInfos = new FutureTask<List<Map<String, Object>>>(new Callable(){  
          @Override
          public List<Map<String, Object>> call() throws Exception{
           List<Map<String, Object>> infoList = goodsProductDOMapper.selectInfoBySkcPrice(map);//sku上级信息
      return infoList;
          }  
      });
      newFixedThreadPool.submit(getSkuInfos);

      List<Map<String, Object>> infoList = getSkuInfos.get();//从线程中获取skuid信息
Map<String, Map<String, Object>> infoMap = skcListToMap(infoList, "skuId", null,null);

List<Map<String, Object>> allInSku = getIns.get();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值