-
run()和start()区别:
- 1、在一个线程中执行run()方法,不会生成新的线程,而是将run()当成一个方法直接执行
- 2、start()会生成一个新的线程去执行run()方法。
- 3、run()是普通方法,所以可以重复执行
- 4、start()不能重复执行
-
execute()和submit()的区别:
- 1、二者都是线程池的执行方法
- 2、execute()只能执行Runnable类型方法,无返回值
- 3、submit可以执行Runnable类型和Callable类型方法,可以得到返回值,
- 其中,Runnable类型方法返回值为null