高并发这些方法能用在哪些业务?一定比不并发业务快吗?有哪些场景?

来源:7-5 wait解析

weixin_慕尼黑2067412

2019-10-19

写回答

1回答

悟空

2019-10-20

可以用在很多场景,比如携程需要同时获取10个航空公司的“北京到上海”的班次信息,肯定是需要用并发同时向10个航空公司发出请求的,比不并发要快。而且10个航空公司可能还有1个一直不返回数据,不用并发的话,就会陷入等待,体验很差,如果用并发,那么就不会影响到其他9个航空公司的正常结果。

类似的场景还有很多,比如下载的时候,用并发可以提高下载速度;比如生成excel文件的时候,用并发可以加快文件的处理速度。

0
2
悟空
回复
weixin_慕尼黑2067412
虽然每个航空公司的业务处理逻辑都很不一样,但是它们本质都是在做同一件事,就是“查询航班信息”,这是接口的抽象。虽然对于方法的具体实现,是各不相同的,但是这都是整个查询逻辑的一部分,虽然每个接口的内部执行是单线程的,但是这10个接口(对应10个航空公司)是同时并行执行的。这里的并行指的是同时向10个航空公司发起请求,但是请求的内容和处理逻辑是允许不一样的,最后经过数据处理后,可以很快汇总10个公司的数据。 如果这里不使用并行,那就是等第一个航空公司的信息返回并处理后,再找第二个公司请求数据,那就太慢了。
2019-10-20
共2条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程