重写run方法
子类继承Thread类具备多线程能力
启动线程:子类对象.start()
不建议使用:避免opp单继承局限性
package com.ymx.wt;
//创建进程
//线程开启不一定立即执行,由cpu负责调度
public class TestThread extends Thread {
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 1000; i++) {
System.out.println("第"+i+"个run线程体");
}
}
public static void main(String[] args) {
//创建一个线程对象
TestThread testThread = new TestThread();
//调用start()方法开启线程
testThread.start();
//main线程,主线程
for (int i = 0; i < 1000; i++) {
System.out.println("第"+i+"个main主线程");
}
}
}
实现Runnable接口具有多线程能力
启动线程:传入目标对象+Thread对象.start()
推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用
package com.ymx.wt;
public class TestThread2 implements Runnable {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println("第"+i+"个run线程体");
}
}
public static void main(String[] args) {
TestThread2 testThread2 = new TestThread2();//创建对象
new Thread(testThread2).start();
for (int i = 0; i < 10; i++) {
System.out.println("第"+i+"个main主线程");
}
}
}
原文:https://www.cnblogs.com/wtxx-never/p/14878888.html