介绍 new Thread 的弊端及 Java 四种线程池的使用,对 Android 同样适用。本文是基础篇,
后面会分享下线程池一些高级功能。
1、new Thread 的弊端
执行一个异步任务你还只是如下 new Thread 吗?
01.new Thread(new Runnable() {
02.
03.@Override
04.public void run() {
05.// TODO Auto-generated method stub
06.}
07.}).start();
复制代码
那你就 out 太多了,new Thread 的弊端如下:
a. 每次 new Thread 新建对象性能差。
b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导
致死机或 oom。
c. 缺乏更多功能,如定时执行、定期执行、线程中断。
相比 new Thread,Java 提供的四种线程池的好处在于:
a. 重用存在的线程,减少对象创建、消亡的开销,性能佳。
b. 可有效控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵
塞。
c. 提供定时执行、定期执行、单线程、并发数控制等功能。
2、Java 线程池
Java 通过 Executors 提供四种线程池,分别为:
评论1