一、进程线程简介
1.?进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。
2.?线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。
线程状态如下图1:
二、实际业务场景
1. 前端展示交付详情页,需调用不同外部系统接口10多个。
2. 每个外部接口返回不同参数对象。
3. 顺序调用外部接口会导致大接口响应时间较长。
三、可选方案
1. 提供多个小接口给前端,前端并发调用渲染数据。(不能超过10个http并发调用)
2. 服务端提供大接口,并发调用外部系统接口,封装数据返回前端。(响应时间依赖外部处理最慢的接口)
* 此场景无需考虑外部接口调用的有序性。
四、采用服务端多线程并发调用
1. 新建全局静态线程池:
2. 新建实现Callable线程类Thread:
3. 多线程并发调用,处理封装返回对象