多线程实现的方式
多线程实现的方式
- 方式2:实现Runnable接口
- 定义一个类MyRunnable实现Runnable接口
- 在MyRunnable类中重写run()方法
- 创建MyRunnable类的对象
- 创建Thread类的对象,把MyRunnable对象作为构造方法的参数
构造方法(部分) | 说明 |
---|---|
Thread(Runnable target); | 分配一个新的 Thread对象 |
Thread(Runnable target, String name); | 分配一个新的 Thread对象,并赋予名字 |
- 启动线程
- 多线程的实现方案有两种:
继承Thread类
实现Runnable接口 - 相比继承Thread类,实现Runnable接口的好处:
避免了Java单继承的局限性
适合多个相同程序的代码去处理同一个资源的情况,把线程和程序的代码,数据有效分离,较好的体现了面向对象的设计思想
以代码和内容形式讲解
MyRunnableDemo类
package Demo;public class MyRunnableDemo { public static void main(String[] args) { //创建MyRunnable类的对象 Runnable mr = new MyRunnable();//多态 //创建Thread类的对象,把MyRunnable对象作为构造方法的参数 Thread tr1 = new Thread(mr,"菜徐琨打篮球"); Thread tr2 = new Thread(mr,"鸡你太美"); //启动线程 tr1.start(); tr2.start(); }}
Runnable类
package Demo;public class MyRunnable implements Runnable { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println(Thread.currentThread().getName()+":"+i); } }}
输出的内容:
注意事项