Java多线程创建方式
Java多线程创建方式
创建线程只有两种方式
第一种是实现Runnable接口,第二种是继承Thread类,优先使用Runnable方法,其他包装类如线程池等方法能新建线程,但在源码里还是Runnable和Thread这两种实现
Runnable方式
Thread 方式
Thread类中run()的源码
实现Runnable接口,就是调用target.run();
继承Thread会重写整个run()方法
但本质上这两种方法都调用run(),只是执行单元不一样
使用Runnable的好处
1.解耦:run()是做具体业务实现的,线程相关操作与具体业务无关,不应该放在一起
2.继承Thread后,由于Java不支持多继承,所以限制了扩展性
3.继承Thread,每次想新建一个任务,必须新建线程然后回收线程,如果run()只执行一
个简单的任务,那么线程的开销比工作还大
所以使用Runnable要优于继承Thread