两种线程创建的比较
来源:互联网 发布:淘宝买家好评率90 编辑:程序博客网 时间:2024/06/03 17:45
目前为止,只知道两种线程创建的办法,一种是类继承,一种是接口的实现
就关于火车售票的问题来分析一下他们的区别
下面是通过接口的实现来创建线程的办法
package 两种创建线程的比较;public class 两种创建线程的比较_Runnable { public static void main(String[] args) {TicketWindow2 th = new TicketWindow2(); new Thread(th,"窗口1").start(); //创建四个新线程 new Thread(th,"窗口2").start(); new Thread(th,"窗口3").start(); new Thread(th,"窗口4").start();}}class TicketWindow2 implements Runnable{ //实现Runnable接口private int tickets = 100;public void run(){while(true){if(tickets > 0){Thread th = Thread.currentThread(); //获取当前线程String th_name= th.getName(); //获取线程名System.out.println(th_name+"正在发售"+tickets--+"张票");}}}}//这种实现Runnable接口的办法可以共享资源
下面是类继承的办法来实现创建线程的办法
package 两种创建线程的比较;public class 两种创建线程的比较 {public static void main(String[] args) {new TicketWindow().start(); //创建一个TicketWindow对象并开启new TicketWindow().start(); //创建一个TicketWindow对象并开启new TicketWindow().start(); //创建一个TicketWindow对象并开启new TicketWindow().start(); //创建一个TicketWindow对象并开启} }class TicketWindow extends Thread{private int tickets = 100;public void run(){while(true){if(tickets > 0){Thread th = Thread.currentThread(); //用Thread类的变量接收当前线程String th_name=th.getName(); //用string类型的变量接受th线程的名字System.out.println(th_name+"正在发售第"+tickets--+"张票");}}}}
运行程序后发现,通过类继承创建线程的办法是不能共享资源的,像上面的代码,是创建了四个线程,每个线程的tickets都是从100开始到0结束,所以每个窗口会打印100次
而通过接口来创建线程的办法则可以共享资源,这样四个窗口共打印了100次
0 0
- 创建线程两种方式的比较
- 创建线程两种方式的比较
- 两种线程创建的比较
- Java两种创建线程的比较
- Runnable和Thread两种方式创建线程的比较
- 线程的两种创建方式及优劣比较
- Java线程的两种创建方式及优劣比较
- java创建线程的两种方法比较
- Java创建线程的两种方法比较
- java创建线程的两种方式比较
- 【JAVA多线程】-线程的两种创建方式及比较
- 线程的两种创建方式及比较
- java中创建线程的两种方法及比较
- (45)创建线程的第二种方式:实现Runnable接口、两种方式比较
- java多线程总结一:线程的两种创建方式及优劣比较
- java多线程总结一:线程的两种创建方式及优劣比较
- java多线程总结一: 线程的两种创建方式及优劣比较
- java多线程总结一: 线程的两种创建方式及优劣比较
- 0922第三方应用百度+友盟
- HDU 3966 - Aragorn's Story(树链剖分)
- 往NSMuArray和NSMutableDictionary填充数据
- 基于Kaggle数据的词袋模型文本分类教程
- MRC
- 两种线程创建的比较
- 设置NavigationBar标题的颜色
- 学习计划
- Android 4.4 中 WebView 使用注意事项
- POJ3984
- 解决兼容最简单的是自定义Style
- java交换两个数 & 细说"^交换"
- NOIP 2003
- 关于Linux下动态以及静态库的制作方法