JAVA手册——线程简介之Runnable与Thread
来源:互联网 发布:java语言的四个特点 编辑:程序博客网 时间:2024/06/16 21:43
由于java是纯面向对象的语言,因此,java的线程模型也是面向对象的。
java通过Thread类将线程所必需的功能封装了起来。要想建立一个线程,必须要有一个线程执行函数,这个线程执行函数对应Thread类中的run方法。
Thread类中还有一个start方法,这个方法负责建立线程,相当于调用Windows的建立线程函数CreateThread。
当调用start方法后,如果线程建立成功,并自动调用Thread类的run方法。因此,任何继承Thread类的java类都可以通过Thread类的start方法来建立线程。如果想要运行自己的线程执行函数,那就要覆盖Thread类的run方法。
在java的线程模型中除了Thread类,还有一个标识某个java类是否可作为线程类的接口Runnable,这个接口只有一个抽象方法run(java的线程执行函数)。
因此,一个线程类的唯一标准就是这个类是否实现了Runnable接口的run方法,也就是说,拥有线程执行函数的类就是线程类。
从上面可以看出,在java中建立线程有两种方法:①继承Thread类;②实现Runnable接口,并通过Thread和实现Runnable的类来建立线程。
eg.
①
class MyThread extends Thread{
public void run(){……}
}
public class TestThread{
public static void main(){
Thread t1=new MyThread();
t1.start();
}
}
②
class MyThread implements Runnable{
public void run(){……}
}
public class TestThread{
public static void main(){
Runnable myThread=new MyThread();
Thread t2=new Thread(myThread);
t2.start();
}
}
本质上,其实是一种方法,即通过Thread类来建立线程,并运行run方法。
大区别是:通过继承Thread类来建立线程,虽然实现起来更容易,但是由于java不能多继承,所以这个线程类如果继承了Thread则不能再继承其他类,所以java线程模型提供了Runnable接口。
- JAVA手册——线程简介之Runnable与Thread
- Java线程——Thread与Runnable、start()与run()
- Java多线程编程之Runnable、Thread简介
- Android线程—Thread、Runnable
- Java 线程之Thread,Runnable,Callable<T>
- 线程:thread与runnable
- Java 线程 Thread Runnable
- java 线程 thread runnable
- 【Java基础】——线程Thread VS Runnable
- java再复习——多线程之初识线程,并从源码角度分析start与run方法,Thread类与Runnable接口
- Thread 与 Runnable 线程 初识
- 线程Thread与Runnable实现
- 线程Thread与Runnable接口
- 黑马程序员——多线程之Runnable与Thread
- java线程:用thread与runnable实现的区别
- java、android线程extends Thread 与 implements Runnable 的区别
- Java多线程Thread与Runnable
- JAVA多线程之Thread&&Runnable
- Java中反射机制(Reflection)学习
- 动态规划总结
- 等价二叉树
- J
- C++ 内存对齐
- JAVA手册——线程简介之Runnable与Thread
- 总结:递归递推
- Win10下Python的安装及相关库的安装
- 用UltraEdit实现2个HEX文件组合成1个HEX
- iOS 10本地推送
- Linux常用的Shell命令
- 利用封装、继承对Java代码进行优化
- HDU 3709 Balanced Number
- 实例讲解OSGI开发