第一种是直接继承Thread类
如下代码:
package java2;
public class test0_2 {
public static void main(String[] args) {
//创建线程
MyThread02 mt=new MyThread02();
//开始线程,不然是不会开始的
mt.start();
}
}
//线程的实现有2种,第一种是继承Thread类,第二种是用接口Runable
class MyThread02 extends Thread{
//这个是线程所执行的代码,就好像这里输出dajiahao,就是线程的功能
public void run() {
System.out.println("dajiahao");
}
}
第二种是通过接口Runable实现
如下代码:
package java2;
public class test2_3 {
//这种就是用接口Runable用线程
public static void main(String[] args) {
//声明线程,并初始化,这样的后mt不能直接调用start,因为是由接口变来的,所以必须再实例化成Thread类
MyThread002 mt=new MyThread002();
//开始线程,不然是不会开始的
//new Thread(mt)这个是创建线程,就是当前的类实例化为一个线程。
//Thread类有一个构造方法:public Thread(Runable tager),所以此方法可以接受Runable的子类实例,也就是可以通过Thread类来启动Runable实现多线程
new Thread(mt).start();
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}
}
class MyThread002 implements Runnable{
public void run() {
System.out.println(Thread.currentThread().getName()+" dajiahao");
}
}