一个普通类实现了Runnable接口,那么,这个普通类也就具备了多线程操作能力。
(推荐学习:java入门程序)
But,Runnable接口中没有定义start()方法,所以想要启动线程,我们还得拜托一下Thread类,毕竟人家有start()方法。
通过实现Runnable接口实现多线程实例:
MyRunnable类(普通类)
package cn.tkr.thread; public class MyRunnable implements Runnable { //重写Runnable接口中的run()方法 @Override public void run() { for (int i = 0; i < 3; i++) { System.out.println("我是MyRunnable类中的run方法中的代码" + i); } } }
TestMyRunnable类(测试类)
package cn.tkr.thread; public class TestMyRunnable { public static void main(String[] args) { MyRunnable mr = new MyRunnable(); //创建线程类的对象 Thread m = new Thread(mr); m.start(); for (int i = 0; i < 3; i++) { System.out.println("我是main方法中的代码" + i); } } }
(视频教程推荐:java视频教程)
运行结果:
我是main方法中的代码0 我是MyRunnable类中的run方法中的代码0 我是MyRunnable类中的run方法中的代码1 我是MyRunnable类中的run方法中的代码2 我是main方法中的代码1 我是main方法中的代码2
分析:
在Thread类中有个构造方法叫Thread(Runable target ),专门用来接收线程类的对象(实现Runnable接口的线程类对象),把mr线程传递给Thread类之后,我们就可以通过对象m来完美地启动线程。