1.2.2实现Runnable接口

使用Runnable创建线程

 1 package com.cky.runner;
 2 
 3 /**
 4  * Created by chenkaiyang on 2017/12/2.
 5  */
 6 public class MyRunnable implements  Runnable{
 7     @Override
 8     public void run() {
 9         System.out.println("运行中");
10     }
11 }

test类

 1 package com.cky.test;
 2 
 3 import com.cky.runner.MyRunnable;
 4 
 5 /**
 6  * Created by chenkaiyang on 2017/12/2.
 7  */
 8 public class Test {
 9     public static void main(String[] args){
10         MyRunnable myRunnable = new MyRunnable();
11         Thread thread = new Thread(myRunnable);
12         thread.start();
13         System.out.println("运行结束");
14 
15     }
16 }
D:itjdk1.8injava -Didea.launcher.port=7532 "-Didea.launcher.bin.path=D:itideaIntelliJ IDEA 2016.3.3in" -Dfile.encoding=UTF-8 -classpath "D:itjdk1.8jrelibcharsets.jar;D:itjdk1.8jrelibdeploy.jar;D:itjdk1.8jrelibextaccess-bridge-64.jar;D:itjdk1.8jrelibextcldrdata.jar;D:itjdk1.8jrelibextdnsns.jar;D:itjdk1.8jrelibextjaccess.jar;D:itjdk1.8jrelibextjfxrt.jar;D:itjdk1.8jrelibextlocaledata.jar;D:itjdk1.8jrelibext
ashorn.jar;D:itjdk1.8jrelibextsunec.jar;D:itjdk1.8jrelibextsunjce_provider.jar;D:itjdk1.8jrelibextsunmscapi.jar;D:itjdk1.8jrelibextsunpkcs11.jar;D:itjdk1.8jrelibextzipfs.jar;D:itjdk1.8jrelibjavaws.jar;D:itjdk1.8jrelibjce.jar;D:itjdk1.8jrelibjfr.jar;D:itjdk1.8jrelibjfxswt.jar;D:itjdk1.8jrelibjsse.jar;D:itjdk1.8jrelibmanagement-agent.jar;D:itjdk1.8jrelibplugin.jar;D:itjdk1.8jrelib
esources.jar;D:itjdk1.8jrelib
t.jar;F:springboot	hreaddemooutproduction	hreaddemo;D:itideaIntelliJ IDEA 2016.3.3libidea_rt.jar" com.intellij.rt.execution.application.AppMain com.cky.test.Test
运行结束
运行中

Process finished with exit code 0

因为java是单根集继承,不支持多继承,为了改变这个限制,使用runnable接口实现多线程

注:Thread类也实现了Runnerable接口,那说明了构造函数不仅仅可以传入runnable接口对象,也可以传递Thread对象,这样做完全可以将一个Thread对象的run方法交给其他线程调用

原文地址:https://www.cnblogs.com/edison20161121/p/7954318.html