一、多线程
问题1:创建线程的方式
答:A. 继承Thread类,重写run方法;
B. 实现Runnable接口,实现run方法;
C. 实现Callable<返回值类型>接口,重写call方法,有返回值;
D. 通过线程池(Executor接口),创建线程(固定大小FixThreadPool、单线程SingleThreadExecutor、缓存CachedThreadPool线程池),但是这些会产生OOM问题, 阿里巴巴推荐使用newThreadPool()创建线程池;
E. 匿名内部类的方式;
F. Spring中@Async注解。
可参考:Java创建多线程的8种方式
问题2:
原文:https://www.cnblogs.com/ruhuanxingyun/p/13492756.html