线程池
2017-03-07 09:18:19 0 举报
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是在后台运行的,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。它们可以并发地执行多个任务。在Java中,线程池是通过java.util.concurrent.Executors类和java.util.concurrent.ThreadPoolExecutor类来实现的。线程池的主要作用是提高系统性能,提升响应速度,减少资源消耗等。
作者其他创作
大纲/内容
启动一个新线程执行任务 & 加入到线程池
读入一个 md 文件
删除好友
Yes
loop
No
当前的 runnable 加入到队列中等待被调度
添加提醒推送
allowCoreThreadTimeOut == true ?
池中运行的线程数 corePoolSize ?
但凡空闲的线程,全被recycle
newCacheThreadPool流程图作者: 林冠宏
corePoolSize 范围外的空闲线程将被recycle
任务完成
搜索好友
遍历下一个章节的 md 文件
content 的策略处理
好友
存入数据结构 array,map,so on
输出数据结构
是否文件末尾
从队列 poll 提取一个 runnable 并执行
线程空闲时间 keepAliveTime ?
keepAliveTime 总是 0
ThreadPool一般流程图作者: 林冠宏
从队列提取一个 runnable 并执行
workQueue 永不满
判断策略,是否是 title
offer 任务时恰好被一个线程 poll 提取走 ?
回调RejectedExecutionHandler
用户
执行任务
成为好友
是否遍历完所有
title 的策略处理
corePoolSize 总是 0
同意添加
newFixedThreadPool流程图作者: 林冠宏
通讯
workQueue 是否队满?
进入存放书的文件夹
当前运行中的线程数 maximumPoolSizes ?
execute(runnable)
文件读取一行 readLine
删除提醒推送
0 条评论
回复 删除
下一页