永发信息网

什么是线程池,如何使用,为什么要用

答案:1  悬赏:20  手机版
解决时间 2021-03-21 18:05
什么是线程池,如何使用,为什么要用
最佳答案
什么是线程池:  java.util.concurrent.Executors提供了一个java.util.concurrent.Executor接口的实现用于创建线程池
一个线程池包括以下四个基本组成部分:
1、线程池管理器(ThreadPool):用于创建并管理线程池,包括 创建线程池,销毁线程池,添加新任务;
2、工作线程(PoolWorker):线程池中线程,在没有任务时处于等待状态,可以循环的执行任务;
3、任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完后的收尾工作,任务的执行状态等;
4、任务队列(taskQueue):用于存放没有处理的任务。提供一种缓冲机制。
线程池作用就是限制系统中执行线程的数量。
根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。
为什么要用线程池:
1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。
2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
打开文件时出现“不支持太新格式的UND文档”
诗奈尔干洗这个地址在什么地方,我要处理点事
莘县第二实验小学什么时候发新生一年级入学通
国家颁发的口腔科职业资格证书,可以从事口腔
This book is a bit difficultread something
老开心周志华的孙子
我是什么小能手作文,我是什么小能手作文
孙俪不是东北人吗,为什么会出生在上海
电脑黑屏怎样重置系统
永居塑钢门窗怎么去啊,有知道地址的么
我940mx显卡前几天玩英雄联盟好好的现在02 01
单选题下列有关根的叙述错误的是A.一株植物上
个人如何参保
错误的网名是什么意思,女孩的网名叫什么意思
去泰国苏梅岛旅游能带肉类品吗?
推荐资讯
单选题新航路开辟后,物价上涨最严重的国家应
单选题人的骨骼肌细胞中,ATP含量仅够剧烈运
x÷35分之6=45分之26÷25分之13 怎么算
开店需要交哪些费用,在淘宝网开店需要交哪些
CO和氧气反应,要什么条件才能生成二氧
什么品种的蚊子不咬人,世上有多少种蚊子?哪
青金石戴哪只手
苏州又出个C罗代驾吗?
如图所示为某一质点运动的位移-时间图象,图
怎样用PS做出这种效果,就是那种画笔画出来的
女生喝醉后向同桌男生表白
若a是方程x²-x-1=0的一个根,求a³
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?