您的位置:首页 > 编程语言 > Java开发

Java多线程Thread和Runnable的区别

2015-04-02 21:50 429 查看
Java多线程中 提供了两种方式来创建线程

第一种就是Thread 代码如下

package com.bypx.thread;
class DemoTest extends Thread{

@Override
public void run() {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"   ");
}
System.out.println();
}
}

}
public class MyThreadTest {
public static void main(String[] args){
DemoTest test=new DemoTest();//这里要是启动多个线程 输出结果就会乱七八糟 因为线程启动顺序不一样

test.start();

}
}


</pre><pre>

第二种就是 Runnable

<pre name="code" class="java">package com.bypx.thread;

import com.sun.java_cup.internal.internal_error;

class RunnableTest implements Runnable{

public void run() {
// TODO Auto-generated method stub
for(int i=1;i<=9;i++	){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"     ");
}
System.out.println();
}
}

}
public class MyRunnableTest {
public static void main(String[] args){
Runnable test=new RunnableTest();
new Thread(test).start();

}
}




由上面的代码可以知道 Runnable 里面没有提供 start方法启动线程 但是是Thread的子类 所以调用 new Thread(test).start();方法就可以启动线程

它们之间的区别就是 Runnable避免了继承的局限性 因为一个类可以实现多个接口 而不能继承多个类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: