标签:
方式一: extends Thread
步骤:1.继承Tread类
2.重写run()方法(为了存储多线程要运行的代码)
3.创建Thread类的子类对象
4.调用子类对象的start()方法启动线程
方法二:implements Runnable
步骤:1.实现Runnable接口
2.覆盖接口中的run()方法(用于封装线程要运行的代码)
3.通过Thread类创建线程对象
4.将实现了Runnable接口类的对象作为参数传递给Thread类的构造函数
5.通过调用Thread类的start()方法,开启线程
为什么要有Runnable接口的出现?
因为Runnable接口可以解决单继承的局限性,
Runnable接口其实就是一种行为的抽象,将一种行为剥离出来,定制成接口。将线程的任务对象化。
标签:
原文地址:http://www.cnblogs.com/lxricecream/p/4460856.html