如何实现多线程
oracle官网文档两种实现方式
一、实现Runnable接口和继承Thread类。
二、为什么实现Runnable接口更好。
1.从代码架构角度,实现解耦,将业务逻辑实现和创建线程进行解耦。
2.新建线程的损耗(直接传入Runnable实现类,性能更好)。
3.JAVA不支持双继承,影响代码可扩展性。
三、两种方法的本质对比
方法一(实现Runnable):最终调用target.run();
方法二(继承Thread):run()整个都被重写;
总结:
准确的讲,创建线程只有一种方式那就是构造Thread类,而实现线程的执行单元有两种方式。
1.实现Runnable接口的run方法,并把Runnable实例传给Thread类。
2.重写Thread的run方法(继承Thread类)