继承Thread类,重写run方法
class MyThread extends Thread{
//构造函数给线程传递名称
public MyThread(String name){
super(name);
}
//无参构造函数(如果不写构造函数默认有无参构造函数)
public MyThread(){
super();
}
public void run() {
//这里写要执行的代码
}
}
public class Threadtest1 {
public static void main(String[] args) {
//创建自定义的线程对象,名称为m1,如果不需要名字,则类里面可以不写构造函数,下方构造MyThread对象也不需要传入参数
MyThread m = new MyThread("m1");
m.strat();//使用start方法启动线程而不是run方法
}
}
实现Runnable接口,重写run方法
public class MyThread2 implements Runnable{
public void run() {
//这里写要执行的代码
}
}
public class Threadtest2 {
public static void main(String[] args) {
//创建自定义类对象作为线程任务对象
MyThread2 mt = new MyThread2();
Thread m = new Thread(mt);
//如果要为它定义名称,则传入第二个参数
//Thread m = new Thread(mt,"自定义名称");
m.strat();//使用start方法启动线程
}
}
匿名内部类
上一种方式的变形
public class Main {
public static void main(String[] args) {
new Thread(new Runnable() {
public void run() {
//要执行的代码
}
}).start();
}
}
Thread类和Runnable接口的区别
本人理解不深,参照大佬的理解。以后若是会深入用到,就回来填坑。
参考链接:点这里
萌新学习中,大佬见笑