浅谈Java的匿名类(https://www.cnblogs.com/caipc/p/5930236.html)
- 不能有静态的任何东西
- 不能定义构造函数
- 不能定义接口
Java内部类详解
线程的生命周期
Runnable, Callable, FutureTask
理解Android多线程里面三种任务Runnable和Callable和FutureTask的用法
Runnable、Callable、Executor、Future、FutureTask关系解读
- Runnable实现的是void run()方法,Callable实现的是 V call()方法,并且可以返回执行结果
- Runnable可以提交给Thread来包装下,直接启动一个线程来执行;Callable则一般都是提交给ExecuteService来执行
- Runnable和Callable的差别就是Runnable是没有结果可以返回的,就算是通过Future也看不到任务调度的结果的。
- Executor就是Runnable和Callable的调度容器
- Future就是对于具体的调度任务的执行结果进行查看
- 调用Future的get方法(阻塞)等待任务返回结果
- 调用Future的cancel方法,取消