线程池理解

线程池理解:


线程池就像是一个大饭店,饭店里有N多个服务员,每个服务员就相当于线程池中的每个线程,而这个店里面会来很多顾客吃饭,
每个顾客都会从门口有序排队进入饭店就餐(每个顾客就相当于线程池中的请求队列),
每一名顾客同一时间只需要一名顾客服务,一名服务员对应一名顾客,包括从门口进入饭店以及后续上菜等操作都需要一名服务员从头到尾服务(高级餐厅...)
(这其实就是线程安全,顾客就是资源,同一时间只能有一个线程访问),
饭店能容纳的顾客数量是有限的,座位有限,其他顾客只能在外边排队,
等待里面的顾客吃完出来再进去就餐
(这其实就相当于系统的资源也是有限的,线程池内线程的数量也是有限的,
只有当一个线程处理完空闲下来,才可以继续处理请求队列中的任务)

角色划分


顾客==线程要处理的任务(顾客有各种各样,每个顾客的需求也不一样,可以抽象为类表示)
服务员==线程(可以抽象为单个线程)
饭店==线程池(可以创建一个线程池类)
一对一的服务==线程安全(可以创建一个线程同步机制类)
门口排队==线程池的请求队列(可插入可删除,可以使用list表示)
服务员的数量==根据硬件配置线程池所能负担得起的线程数量(抽象为计算机CPU的处理能力)

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页