线程池
线程池的优点:
1.降低资源消耗,提高利用率; 减少每一次线程的创建的销毁,通过重复利用已经创建好的线程池
2.提高响应速度;当有任务抵达时,无须等待线程创建
3.方便管理; 对线程池进行统一的调度,分配与监控
线程池顶级接口:Executor
Exexutor为线程池顶级接口,其源码里只有一个方法
void execute(Runnable command);
ExectorService->普通线程池核心接口
Future<?> submit(Runnable task);
<T> Future<T> submit(Callable<T> task);
既可以接受Callable对象,也可以接受Ruunnable对象,并且都有Future接口返回值,但是Runnable对象并没有返回值
是因为在ExectorService接口中将Runnable转化为了Callable接口
ScheduledThreadPoolExector->定时线程池核心接口
public <V> ScheduledFuture<V> schedule(Callable<V> callable,
long delay, TimeUnit unit);
既可以接受callable接口,也可以接受Runnable接口
延迟delay个时间单位后开始执行
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command,
long initialDelay,
long period,
TimeUnit unit);
延迟initialDelay个时间单位就开始执行,并且每隔period个时间单位就执行一次。
后续会一直更新