JAVA基础(多线程Thread和Runnable的使用区别(转载)
2014-10-08 07:09
676 查看
转自:http://jinguo.iteye.com/blog/286772
Runnable是Thread的接口,在大多数情况下“推荐用接口的方式”生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。
在使用Thread的时候只需要new一个实例出来,调用start()方法即可以启动一个线程。
Thread Test = new Thread();
Test.start();
在使用Runnable的时候需要先new一个继承Runnable的实例,之后用子类Thread调用。
Test impelements Runnable
Test t = new Test();
Thread test = new Thread(t);
在某个题目里,需要分别打印出a与b各10次,并且每打印一次a睡1秒,打印一次b睡2秒。
可以在run方法外面定义String word与int time
之后用
Thread t1 = new Thread();
Thread t2 = new Thread();
t1.word = "a"
t1.time = 1000
t2.Word = "b"
t2.time = 2000
t1.start();
t2.start();
----Runnable的代码
class T implements Runnable{
String s = "";
int time = 0;
public void run (){
for (int i=0;i<10;i++) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
Thread.interrupted();
}
System.out.println(s);
}
}
}
public class Test {
public static void main(String[] args) {
T t1 = new T();
T t2 = new T();
t1.s = "a";
t1.time = 100;
t2.s = "b";
t2.time = 200;
Thread a = new Thread(t1);
a.start();
Thread b = new Thread(t2);
b.start();
}
}
Runnable是Thread的接口,在大多数情况下“推荐用接口的方式”生成线程,因为接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。
在使用Thread的时候只需要new一个实例出来,调用start()方法即可以启动一个线程。
Thread Test = new Thread();
Test.start();
在使用Runnable的时候需要先new一个继承Runnable的实例,之后用子类Thread调用。
Test impelements Runnable
Test t = new Test();
Thread test = new Thread(t);
在某个题目里,需要分别打印出a与b各10次,并且每打印一次a睡1秒,打印一次b睡2秒。
可以在run方法外面定义String word与int time
之后用
Thread t1 = new Thread();
Thread t2 = new Thread();
t1.word = "a"
t1.time = 1000
t2.Word = "b"
t2.time = 2000
t1.start();
t2.start();
----Runnable的代码
class T implements Runnable{
String s = "";
int time = 0;
public void run (){
for (int i=0;i<10;i++) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
Thread.interrupted();
}
System.out.println(s);
}
}
}
public class Test {
public static void main(String[] args) {
T t1 = new T();
T t2 = new T();
t1.s = "a";
t1.time = 100;
t2.s = "b";
t2.time = 200;
Thread a = new Thread(t1);
a.start();
Thread b = new Thread(t2);
b.start();
}
}
相关文章推荐
- JAVA基础(多线程Thread和Runnable的使用区别
- Java多线程实现接口Runnable和继承Thread区别(建议使用Runnable)
- java多线程Thread与Runnable的区别与使用深入理解
- Java基础知识强化之多线程笔记05:Java中继承thread类 与 实现Runnable接口的区别
- Java 多线程实现接口Runnable和继承Thread区别
- [原]Java多线程编程学习笔记之五:Runnable和Thread实现多线程的区别(含代码)
- JAVA多线程实现的三种方式(继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程)
- java 多线程 Thread和Runnable的区别
- java基础之Thread与Runnable的区别
- Java多线程Thread和Runnable的区别
- JAVA基础学习之throws和throw的区别、Java中的四种权限、多线程的使用等(2)
- Java中Runnable和Thread的区别(转载)
- Java学习从菜鸟变大鸟之三 多线程中Thread 和Runnable的区别与运用
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- java基础之Thread与Runnable的区别
- java:多线程基础之Runnable、Callable与Thread
- Java 多线程的Thread类和Runnable接口(转载)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- java多线程的runnable与thread的区别
- Java多线程基础使用(Thread|Runable|TimerTask&Timer)