[简单]工作记录_多线程相关

     最近遇到多线程的问题,原来使用异步请求多个接口(n*3次请求)
     方案一 使用多线程一次返回数据,最开始是使用5个线程,一个线程顺序请求3个接口,超时终止返回
     缺点       测试发现必须3个接口全部成功才能取到数据,遇到部分接口失败数据拿不到
    
    方案二 使用6个线程,2个线程请求同一个接口,每个线程处理n/2个数据,超时终止返回
    缺点       测试发现,可能1个接口失败导致无法处理后面的数据

 

      以上方案都已失败告终,测试发现多线程取数据效果比异步请求差,异步请求显示是成功一个显示一个,多线程方案可能由于单个接口失败导致数据不完整

  

     方案三:由于瓶颈在数据接口部分,使用6个线程,一个线程处理一个请求,成功的请求继续处理其他未处理的数据,请求失败重试3次,超时终止返回
  

    方案四:优先使用多线程请求一次接口,失败后从缓存中取数据,本方案不能保证数据的实时性

你可能感兴趣的