android中的常用线程池区别--转载
来源:互联网 发布:知天下事打一个动物 编辑:程序博客网 时间:2024/04/30 01:39
http://www.oschina.net/question/565065_86540----这是原文地址,讲解线程池很详细
public class MyThread implements Runnable{
public void run(){
System.out.println(Thread.currentThread().getName()+"正在执行");
}
}
public class TestCachedThreadPool {
public static void main(String[] args) {
//这是缓存线程池,无界限城池,可以进行自动线程回收
ExecutorService executors = Executors.newCachedThreadPool();
MyThread t1 = new MyThread();
MyThread t2 = new MyThread();
MyThread t3 = new MyThread();
MyThread t4 = new MyThread();
executors.submit(t1);
executors.submit(t2);
executors.submit(t3);
executors.submit(t4);
executors.shutdown();
}
}
控制台打印为
pool-1-thread-2正在执行
pool-1-thread-3正在执行
pool-1-thread-1正在执行
pool-1-thread-4正在执行
public class TestExecutors {
public static void main(String[] args) {
//固定数量线程池
ExecutorService executors = Executors.newFixedThreadPool(2);
MyThread t1 = new MyThread();
MyThread t2 = new MyThread();
MyThread t3 = new MyThread();
MyThread t4 = new MyThread();
executors.submit(t1);
executors.submit(t2);
executors.submit(t3);
executors.submit(t4);
//关闭线程池
executors.shutdown();
}
}
控制台打印
pool-1-thread-1正在执行
pool-1-thread-2正在执行
pool-1-thread-1正在执行
pool-1-thread-2正在执行
public class TestSingleThreadPool {
public static void main(String[] args) {
//这个是单个线程池,每次只能执行一个线程,当一个线程执行完毕之后再执行下一个线程
ExecutorService executors = Executors.newSingleThreadExecutor();
MyThread t1 = new MyThread();
MyThread t2 = new MyThread();
MyThread t3 = new MyThread();
MyThread t4 = new MyThread();
executors.submit(t1);
executors.submit(t2);
executors.submit(t3);
executors.submit(t4);
executors.shutdown();
}
}
控制台打印
pool-1-thread-1正在执行
pool-1-thread-1正在执行
pool-1-thread-1正在执行
pool-1-thread-1正在执行
- android中的常用线程池区别--转载
- [转载]Android中的线程模型
- android常用线程池
- Android中的线程池
- Android中的线程池
- Android中的线程池
- Android 中的线程池
- Android中的线程池
- Android中的线程池
- Android中的线程池
- Android中的线程池
- Android中的线程池
- Android中的线程池
- Android中的线程池
- Android 中的线程池
- android中的线程池
- Android中的线程池
- Android 中的线程池
- 汕头正宗的牛肉丸多少钱一斤的
- LeetCode---Spiral Matrix II
- Codeforces Round #327 (Div. 1) B题: Chip 'n Dale Rescue Rangers [数学题]
- 库函数strcpy/strlen的工作方式
- 几道笔试题
- android中的常用线程池区别--转载
- 通过弹出层实现新建功能 ruby on rails
- Android基础之图片的压缩算法
- Eclipse 安装 EasyShell 插件(打开项目所在本地磁盘位置)
- 016.Assign Operator 赋值运算
- MFC对话框——访问Edit对话框
- 4.1 PCIe总线的基础知识
- Arrays.asList方法总结
- 婚礼常见疑问解答