Runnable和Thread两种方式创建线程的比较
2011-09-05 09:44
369 查看
模拟一个售票窗口,4个售票窗口共同卖100张火车票的程序。
1:使用继承Thread类方式实现()。
2:使用实现Runnable接口方式实现()。
第一种方式
![](http://hi.csdn.net/attachment/201109/5/0_1315187473KPPf.gif)
第二种方式
![](http://hi.csdn.net/attachment/201109/5/0_1315187442dtzd.gif)
这两种线程创建方式的比较
使用Runnable接口
实际工作中,几乎所有的多线程应用都用实现Runnable这种方式。
Runnable适合多个相同程序代码的线程去处理同一资源的情况。把虚拟CPU(线程)同程序的代码、数据有效的分离,较好的体现了面向对象的设计思想。
避免由于Java的单继承特性带来的局限性。也就是如果新建的类要继承其他类的话,因为JAVA中不支持多继承,就只能实现java.lang.Runnable接口。
有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。
继承Thread类
不能再继承他类了。
编写简单,可以直接操纵线程,无需使用Thread.currentThread()。
请查询API 获得currentThread方法的作用说明。
1:使用继承Thread类方式实现()。
2:使用实现Runnable接口方式实现()。
第一种方式
![](http://hi.csdn.net/attachment/201109/5/0_1315187473KPPf.gif)
第二种方式
![](http://hi.csdn.net/attachment/201109/5/0_1315187442dtzd.gif)
这两种线程创建方式的比较
使用Runnable接口
实际工作中,几乎所有的多线程应用都用实现Runnable这种方式。
Runnable适合多个相同程序代码的线程去处理同一资源的情况。把虚拟CPU(线程)同程序的代码、数据有效的分离,较好的体现了面向对象的设计思想。
避免由于Java的单继承特性带来的局限性。也就是如果新建的类要继承其他类的话,因为JAVA中不支持多继承,就只能实现java.lang.Runnable接口。
有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立的。
继承Thread类
不能再继承他类了。
编写简单,可以直接操纵线程,无需使用Thread.currentThread()。
请查询API 获得currentThread方法的作用说明。
相关文章推荐
- Thread类和Runnable接口这两种线程创建方式的比较
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- Java【多线程知识总结(5)】比较继承Thread类创建线程和实现Runnable接口创建线程这两种方式
- 创建线程的两种方式比较Thread VS Runnable
- 线程:创建线程有两种方式,一种是继承Thread类,另一种是实现Runnable接口。代码如下:
- 创建线程的两种方式:继承Thread类和实现Runnable接口
- 线程 创建和启动线程的两种方式 实现Runnable接口 继承Thread类 重写唯一方法run()
- Java线程总结(一):创建线程的两种方式Thread和Runnable
- 线程的两种创建方式及优劣比较
- java 创建线程的三种方法Callable,Runnable,Thread比较及用法
- 创建线程两种方式的比较
- java多线程总结一:线程的两种创建方式及优劣比较
- 创建线程两种方式的比较
- Java中继承Thread和实现Runnable这两种创建线程有何区别
- java多线程总结一:线程的两种创建方式及优劣比较
- 创建线程两种方式比较
- java多线程总结一: 线程的两种创建方式及优劣比较
- multithreading--创建Thread线程的第二种方式,Runnable
- java基础知识回顾之java Thread类--java线程实现常见的两种方式实现Runnable接口(二)
- 线程的两种创建方式及优劣比较