Java多线程并发-案例1

一、进程线程简介

1. 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。

2. 线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。

线程状态如下图1:

图1

二、实际业务场景

1. 前端展示交付详情页,需调用不同外部系统接口10多个。

2. 每个外部接口返回不同参数对象。

3. 顺序调用外部接口会导致大接口响应时间较长。

三、可选方案

1. 提供多个小接口给前端,前端并发调用渲染数据。(不能超过10个http并发调用)

2. 服务端提供大接口,并发调用外部系统接口,封装数据返回前端。(响应时间依赖外部处理最慢的接口)

* 此场景无需考虑外部接口调用的有序性。

四、采用服务端多线程并发调用

1. 新建全局静态线程池:

2. 新建实现Callable线程类Thread:

3. 多线程并发调用,处理封装返回对象


你可能感兴趣的:(Java多线程并发-案例1)