启用多线程 必须先定义任务
即一个Runnable的实现类,实现一个run()方法
Runnable实现类本身不产生任何内在线程能力,只是一个普通类,要实现线程行为必须显示的将一个任务附着到线程上,有如下几种方式。
1)传统方式是把任务提交一个Thread构造器。对于简单的
public class LiftOff implements Runnable{...}
new Thread(new LiftOff()).start;
2)使用Executor管理线程
线程管理器有以下几种,分别适用于不同的应用场景
CacheThreadPool,最常用的Executor,为每个任务都创建一个线程
FixedThreadPool,使用有限的线程集,一次性预先执行高昂的线程分配
SingleThreadExecutor,一次只有一个线程在执行,适用于文件系统的解决资源同步问题
即一个Runnable的实现类,实现一个run()方法
Runnable实现类本身不产生任何内在线程能力,只是一个普通类,要实现线程行为必须显示的将一个任务附着到线程上,有如下几种方式。
1)传统方式是把任务提交一个Thread构造器。对于简单的
public class LiftOff implements Runnable{...}
new Thread(new LiftOff()).start;
2)使用Executor管理线程
线程管理器有以下几种,分别适用于不同的应用场景
CacheThreadPool,最常用的Executor,为每个任务都创建一个线程
FixedThreadPool,使用有限的线程集,一次性预先执行高昂的线程分配
SingleThreadExecutor,一次只有一个线程在执行,适用于文件系统的解决资源同步问题