采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
可以用在很多场景,比如携程需要同时获取10个航空公司的“北京到上海”的班次信息,肯定是需要用并发同时向10个航空公司发出请求的,比不并发要快。而且10个航空公司可能还有1个一直不返回数据,不用并发的话,就会陷入等待,体验很差,如果用并发,那么就不会影响到其他9个航空公司的正常结果。
类似的场景还有很多,比如下载的时候,用并发可以提高下载速度;比如生成excel文件的时候,用并发可以加快文件的处理速度。
在系统中每个航空公司有对应的接口业务。。包括发送不同的请求参数,不同的验签方式,返回数据格式统一处理。这些代码块都是独立的接口。。。都是单线程的。。不可能说把业务拆了,并发请求,并发返回处理。。每个航哥公司的业务处理逻辑都不一样啊
虽然每个航空公司的业务处理逻辑都很不一样,但是它们本质都是在做同一件事,就是“查询航班信息”,这是接口的抽象。虽然对于方法的具体实现,是各不相同的,但是这都是整个查询逻辑的一部分,虽然每个接口的内部执行是单线程的,但是这10个接口(对应10个航空公司)是同时并行执行的。这里的并行指的是同时向10个航空公司发起请求,但是请求的内容和处理逻辑是允许不一样的,最后经过数据处理后,可以很快汇总10个公司的数据。 如果这里不使用并行,那就是等第一个航空公司的信息返回并处理后,再找第二个公司请求数据,那就太慢了。
登录后可查看更多问答,登录/注册
完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题
1.9k 26
913 12
1.1k 12
2.5k 12
1.1k 11