首页文章正文

线程池详解,线程池队列

线程池的创建 2023-08-25 14:21 197 墨鱼
线程池的创建

线程池详解,线程池队列

线程池详解,线程池队列

1.线程池管理器:用于创建和管理线程池,包括创建线程池、销毁线程池、添加新任务;2.工作线程:线程池中的线程可以循环执行任务,并在没有任务状态时等待;3.任务接口:每个任务必须1.Executors.newFixedThreadPool(10)初始化一个包含10个线程的线程池执行器;2.通过提交20个任务executor.execute方法,每个任务打印当前线程名称;3.负责执行任务的线程的生命周期

顾名思义,线程池就是提前创建几个可执行线程,并将它们放入一个池(容器)中。需要时,从池中获取线程,而不需要自己创建。使用完后,线程不需要销毁,而是放回池中,从而减少创建和处理。 销毁线程对象的开销。 1.5常见的几种线程池详解1.5.1固定线程池1.5.1.1简介固定线程池称为具有固定数量的可重用线程的线程池。 通过Executors类中的相关源代码查看相关实现:还有一个

1.单线程线程池中的任务按照提交的顺序依次执行。2.池中唯一线程的生存时间不受限制。3.当池中唯一线程繁忙时,新提交的任务实例将进入内部阻塞队列,其阻塞创建一个线程池。我们可以通过自定义ThreadPoolExecutor或者jdk内置ExecutorsnewFi来创建一系列线程池xedThreadPool:创建具有固定线程数的线程池newSingleThreadExecutor:创建单个线程

线程池的好处:01:减少资源消耗02:提高响应速度03:方便管理(重点)线程复用,可以控制最大并发数,管理线程2:三种方法:01:Executors.newSingleThreadEoversubmit()将任务提交到线程池后会返回一个Future,调用VFuture.get()方法可以阻塞并等待执行结果,并且Vget(longtimeout,TimeUnitunit)方法可以指定等待超时时间

\ _ / 当线程为IO密集型时,主要消耗磁盘的读写性能,可设置为2*n,为当前服务器的核心数(例如8核16Gisset的服务器为16,Runtime.getRuntime().availableProcessors()获取)当线程为CPU密集型时STOP->TIDYING:线程池为空时。 TIDYING->TERMINATED:当terminate()方法完成时。 基础属性(非常重要)当execute方法使用线程池的submit方法来提交任务时,就会走到这个方法,并且这个方法也会

后台-插件-广告管理-内容页尾部广告(手机)

标签: 线程池队列

发表评论

评论列表

黑豹加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号