课堂笔记之自定义线程池
来源:互联网 发布:c语言入门经典 编辑:程序博客网 时间:2024/05/01 03:17
以下文字内容,可能有误,理解不够透彻
线程池在加载任务时
任务先一次加载到线程池中,如果扩容到最大线程数还不够用,就会放入阻塞队列中取等待,如果队列的长度不够放,就会爆出错误
核心线程,是系统会优先使用的,如果优先的不够用才会扩容到够用为止
并且在核心线程第一次开始启动加载任务时,会顺序排队执行,一个完成,下一个才能开始。然后再随机加载甚至扩容
public class ThreadPoolDemo03 {
private static final ThreadFactory sThreadFactory = new ThreadFactory() {
private final AtomicInteger mCount = new AtomicInteger(1);
public Thread newThread(Runnable r) {
return new Thread(r, "AsyncTask #" + mCount.getAndIncrement());
}
};
public static void main(String[] args) {
BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<Runnable>(20);
Executor pool = new ThreadPoolExecutor(5, 20, 1, TimeUnit.SECONDS,workQueue,sThreadFactory);
// new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory)
for(int i=0; i<100; i++)
pool.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String name = Thread.currentThread().getName();
System.out.println(name+ "--->");
}
});
}
}
0 0
- 课堂笔记之自定义线程池
- 课堂笔记之线程池
- 课堂笔记--线程的生命周期及同步
- linux课堂笔记--shell1之变量
- jquery高级之妙味云课堂笔记
- C#课堂笔记之VS注释快捷键
- C#课堂笔记之打断点调试
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 课堂笔记
- 以太网之物理层
- HDU-4597 Play Game (区间DP)
- 【Unity3d】浅谈异步加载场景
- 【世界是自己的,与他人毫无关系】--杨绛
- ListView加Fragment实现Flyme4.0设置界面
- 课堂笔记之自定义线程池
- pathspec did not match any file known to git
- POJ_1084_SquareDestroyer(DancingLinksX重复覆盖)
- L1 L2正则化
- python错误
- 解决ajax不能访问本地文件(利用js跨域原理)
- Node.js
- readLine方法的简单练习,回答2016-04-27 的帖子的问题
- HDU 1542 Atlantis