java多线程实现(thread和runnable接口两种方式以及其区别)
来源:互联网 发布:淘宝浩升软件什么用途 编辑:程序博客网 时间:2024/05/23 01:23
java 继承thread实现多线程实例
package com.weitao.thread;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-14 下午2:36:07
* 类说明
*/
public class TestThread extends Thread{
public TestThread(String threadName){
super(threadName);
}
public void run(){
System.out.println(this.getName() + "线程运行开始!");
for(int i=0; i<10; i++){
System.out.println(i+ this.getName());
try {
sleep(2);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package com.weitao.thread;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-14 下午1:47:18
* 类说明
*/
public class MultiThreadTest {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getName());
new TestThread("A").start();
new TestThread("B").start();
new TestThread("C").start();
System.out.println("main thread end!");
}
}
java 用runnable实现多线程
package com.weitao.thread;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-14 下午3:22:53
* 类说明
*/
public class MultiThreadTestTwo implements Runnable{
private int ticket =10;
public void run(){
for(int i =0;i<500;i++){
if(this.ticket>0){
System.out.println(Thread.currentThread().getName()+"卖票---->"+(this.ticket--));
}
}
}
}
package com.weitao.thread;
/**
* @author 作者 weitao:
* @version 创建时间:2016-7-14 下午3:58:35
* 类说明
*/
public class TestThreadTwo {
public static void main(String[] args) {
MultiThreadTestTwo mt = new MultiThreadTestTwo();
Thread thread1 = new Thread(mt,"A");
Thread thread2 = new Thread(mt,"B");
Thread thread3 = new Thread(mt,"C");
thread1.start();
thread2.start();
thread3.start();
System.out.println("-----------------------------------------------------");
MultiThreadTestTwo mt1 = new MultiThreadTestTwo();
MultiThreadTestTwo mt2 = new MultiThreadTestTwo();
MultiThreadTestTwo mt3 = new MultiThreadTestTwo();
Thread thread4 = new Thread(mt1,"A");
Thread thread5 = new Thread(mt2,"B");
Thread thread6 = new Thread(mt3,"C");
thread4.start();
thread5.start();
thread6.start();
}
}
打印输出结果即可看到明显区别。
实现Runnable接口比继承Thread类所具有的优势:
1):适合多个相同的程序代码的线程去处理同一个资源
2):可以避免java中的单继承的限制
3):增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。
- java多线程实现(thread和runnable接口两种方式以及其区别)
- java实现多线程的两种方式继承Thread类和实现Runnable接口
- java--(多线程创建的两种方式Thread类和Runnable接口)
- Java 多线程实现接口Runnable和继承Thread区别
- Java 多线程实现接口Runnable和继承Thread区别
- Java 多线程实现接口Runnable和继承Thread区别 (2
- Java 多线程实现接口Runnable和继承Thread区别
- java多线程(继承Thread以及实现Runnable接口)
- JAVA——多线程编程之两种多线程方法:继承Thread类和实现Runnable接口(一)
- Java多线程实现接口Runnable和继承Thread区别(建议使用Runnable)
- 实现多线程的两种方式Runnable与Thread
- java中多线程Runnable接口和Thread类的区别
- java创建多线程的两种方法(继承Thread类/实现Runnable接口)
- Thread与Runnable两种多线程方式
- Java中两种多线程实现方法:Thread类和Runnable接口的联系与区别
- Java两种实现多线程方式的比较( implements Runnable 与 extends Thread )
- Java 继承Thread和实现Runnable实现多线程的区别
- java 多线程实现方式Thread和Runnable之间差异
- loadTemplate用ajax获取数据动态加入多个ratio
- 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。
- 剑指offer 重建二叉树
- Java字节码进制转换
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1)
- java多线程实现(thread和runnable接口两种方式以及其区别)
- mysql主从原理
- 解析类型 javax.swing.JComponent的问题处理
- 动态规划——01背包问题
- 转载:面试时,问哪些能试出一个Android开发者真正的水平
- 查看错误信息
- Visual Studio快捷键总结
- ThreadPoolExecutor机制
- Android自定义控件下拉刷新