一、线程创建的概述
Java中创建线程有两种方法:一种是继承Thread类;另一种是实现Runnable接口,并通过Thread和实现Runnable的类来建立线程。其实这两种方法从本质上来说是一种方法,即都是通过Thread类来建立线程,并运行run方法的。它们的区别是通过继承Thread类来建立线程,虽然实现起来更加容易,但由于Java不支持多继承,因此,该线程若继承了Thread,就不能再继承其他的类了。但Java线程模型提供了通过实现Runnable接口的方法来建立线程,这样线程类可以在必要的时候继承其他相关的类。
二、Thread类的介绍
Thread是Java中实现了多线程的类,Thread中的run方法实现了线程的启动,可通过继承Thread类并覆盖run方法实现一个线程。Thread类在java.lang包中实现,而该包是默认载入的,因此不需要导入。
Thread类的构造方法:
- Thread(),该构造方法的内部实现是调用了init( )方法,为其分配了一个”Thread-“+数字的名字,数字从0开始。
- Thread(Runnable target),该构造方法指定了一个Runnable接口的参数,实现了这个接口的类的run方法将被执行。
- Thread(String name),该构造方法可以重新指定线程的名字。
三、测试
class MyThread extends Thread{
private String name;
MyThread(String name){
this.name=name;
}
public void start(){
for(int i=1;i<=5;i++){
System.out.println(this.name+" is running...");
}
}
}
public class MyThreadTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThread mt1=new MyThread("Game one ");
MyThread mt2=new MyThread("Game two ");
mt1.start();
mt2.start();
}
}