线程的两种定义方式
1,继承Thread类
(1)定义线程:写一个类,继承Thread类,重写run()方法。
package com.hqyj.demo1;
public class Thread1 extends Thread {
@Override
public void run() {
System.out.println("线程1");
}
}
(2)启动线程:直接new这个类,调用这个类的start的方法
package com.hqyj.demo1;
public class demo1 {
public static void main(String[] args) {
Thread1 t1 = new Thread1();
t1.start();
}
}
2,实现Runnable接口。
(1)定义线程:写一个类,实现这个接口,实现run()方法
package com.hqyj.demo2;
public class Thread1 implements Runnable {
@Override
public void run() {
System.out.println("线程一");
}
}
(2)启动线程:调用Thread的构造器方法,将上个类的对象作为参数传入构造器中。然后Thread的对象调用start方法
package com.hqyj.demo2;
public class demo1 {
public static void main(String[] args) {
Thread t1 = new Thread(new Thread1());
t1.start();
}
}