Java多线程Thread和Runnable的区别
2015-04-02 21:50
429 查看
Java多线程中 提供了两种方式来创建线程
第一种就是Thread 代码如下
第二种就是 Runnable
由上面的代码可以知道 Runnable 里面没有提供 start方法启动线程 但是是Thread的子类 所以调用 new Thread(test).start();方法就可以启动线程
它们之间的区别就是 Runnable避免了继承的局限性 因为一个类可以实现多个接口 而不能继承多个类
第一种就是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避免了继承的局限性 因为一个类可以实现多个接口 而不能继承多个类
相关文章推荐
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- Java多线程实现接口Runnable和继承Thread区别(建议使用Runnable)
- java多线程实现(thread和runnable接口两种方式以及其区别)
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- java挑战高并发(6):Runnable和Thread实现多线程的区别(含代码)
- Java学习从菜鸟变大鸟之三 多线程中Thread 和Runnable的区别与运用
- java中多线程Runnable接口和Thread类的区别
- Java中两种多线程实现方法:Thread类和Runnable接口的联系与区别
- 多线程二,Java多线程thread和runnable区别简介
- Java多线程(四) Thread和Runnable之区别(售票系统)
- JAVA基础(多线程Thread和Runnable的使用区别
- Java 多线程实现接口Runnable和继承Thread区别
- Java 多线程实现接口Runnable和继承Thread区别
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- Java学习从菜鸟变大鸟之三 多线程中Thread 和Runnable的区别与运用
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别(含代码)
- java多线程的runnable与thread的区别
- Java中 Thread和Runnable实现多线程的区别和联系
- Java 多线程实现接口Runnable和继承Thread区别 (2
- 慕课网--细说java 多线程 thread与runnable的区别