一:继承thread类(不建议使用:避免OOP单继承局限性)
继承thread类
重写run()方法
调用start开启线程
public class testthread1 extends thread{
public void run(){
//线程体
for(int i = 0;i < 3;i++){
System.out.println("线程"+i);
}
}
public static void main(String[] args){
//main主线程
//创建线程对象
testthread1 t1 = new testthread1();
//调用start方法开启线程
t1.start();
for(int i = 0;i < 20;i++){
System.out.println("主线程"+i);
}
}
}
二:实现Runnable(建议使用:避免单继承局限性,方便同一个对象被多个线程使用)
定义runnable类实现runnable接口
实现run()方法,编写线程执行体
创建线程对象,调用start()方法开启线程
public class testthread1 implements Runnable{
public void run(){
//线程体
for(int i = 0;i < 3;i++){
System.out.println("线程"+i);
}
}
public static void main(String[] args){
//main主线程
//创建runnable接口的实现类对象
testthread1 t3 = new testthread1();
//创建线程对象,通过线程对象开启线程,代理
Thread t4 = new Thread(t3);
//调用start方法开启线程
t4.start();
for(int i = 0;i < 20;i++){
System.out.println("主线程"+i);
}
}
}