方法一:继承Thread
1》定义一个类继承Thread
2》重写run方法
3》创建线程对象
4》开启线程
public static void main(String[] args) {
//创建线程对象
MyThread myThread = new MyThread();
//开启线程
myThread.start();
}
//定义一个类继承Thread
public static class MyThread extends Thread {
//重写run方法
@Override
public void run() {
//todo task
super.run();
}
}
方法二:实现Runnable接口
1》定义一个类实现Runnable接口
2》重写run方法
3》在main方法(线程)中,创建线程对象,并启动线程.
(1)创建线程类对象:
Thread thread = new Thread(myThread);
(2)调用线程对象的start方法:
thread.start();
public static void main(String[] args) {
MyThread myThread = new MyThread();
//创建线程对象
Thread thread = new Thread(myThread);
//调用start方法
thread.start();
}
//定义一个类实现Runnable接口
public static class MyThread implements Runnable {
//重写run方法
@Override
public void run() {
//todo task
}
}
方法三:匿名内部类,其实也是属于第二种实现方式的特例。
public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
//todo task
}
});
thread.start();
}
参考文献:
https://www.cnblogs.com/lgjava/p/9997126.html