Java中两种多线程实现方式的区别
来源:互联网 发布:项目开发计划软件 编辑:程序博客网 时间:2024/05/01 16:11
在程序开发中用到多线程,正统的方法是使用Runnable接口,相比继承Thread类,Runnable接口有以下两点好处:
1、避免单继承机制的局限,一个类可以实现多个接口
2、适用于资源的共享
下面以买票程序为例,分析继承Thread类和实现Runnable接口的不同;
1、继承Thread类
package org.mole.xc;
public class TicketThread extends Thread {
private String name;
public TicketThread(String name) {
this.name = name;
}
private int ticket = 5;
public void run(){
for(int i=0;i<10;i++){
if(this.ticket>0){
System.out.println(this.name+"买票ticket:"+this.ticket--);
}
}
}
}
package org.mole.xc;
public class TicketDemo1 {
public static void main(String args[]){
TicketThread ta = new TicketThread("线程1");
TicketThread tb = new TicketThread("线程2");
TicketThread tc = new TicketThread("线程3");
ta.start();
tb.start();
tc.start();
}
}
代码的执行结果如下:
只有5张票,三个线程各自买了5张,并未实现资源的共享,一共买了15张。
2、实现Runnable接口
package org.mole.xc;
public class TicketThread implements Runnable {
private String name;
public TicketThread(String name) {
this.name = name;
}
private int ticket = 5;
public void run(){
for(int i=0;i<10;i++){
if(this.ticket>0){
System.out.println(this.name+"买票ticket:"+this.ticket--);
}
}
}
}
package org.mole.xc;
public class TicketDemo1 {
public static void main(String args[]){
TicketThread ta = new TicketThread("线程1");
new Thread(ta).start();
new Thread(ta).start();
new Thread(ta).start();
}
}
代码执行后运行结果如下:
只有5张票,三个线程各自买了5张,并未实现资源的共享,一共买了5张。
Thread类和Runnable接口的关系如下:
文章思想来自魔乐科技。
- Java中两种多线程实现方式的区别
- Java中有两种实现多线程的方式的区别
- java中多线程的实现方式以及区别(1)
- java中多线程的实现方式以及区别(2)
- Java基础--多线程的两种实现方式及区别
- Java中两种多线程的实现方式
- java实现多线程的方式
- java多线程的实现方式
- Java多线程的实现方式
- Java多线程的实现方式
- java 实现多线程的方式
- Java实现多线程的方式
- Java 实现多线程的方式
- java多线程-实现多线程的方式
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Java中有两种实现多线程的方式以及两种方式之间的区别
- 每日一个小算法(二)-插入排序
- 拦截导弹(动态规划)
- C++学习过程中踩的地雷
- redis新开辟端口
- 深入理解Java:注解(Annotation)自定义注解入门
- Java中两种多线程实现方式的区别
- 静态变量和实例变量的区别?
- 慢跑鞋 zocm txks eett
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- UVa 202, Repeating Decimals
- 使用二分查找算法在数组查找随机生成的key对应的值
- 驾照相关:中华人民共和国公安部第123号令
- 1064. Complete Binary Search Tree (30)
- 提高代码质量:如何编写函数