方式一:继承Thread类
1.创建一个继承于Thread类的子类
2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中
3.创建Thread类的子类的对象
4.通过此对象调用start()方法开启线程
//1.创建一个继承于Thread类的子类
public class ThreadDemo extends Thread {//2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中@Overridepublic void run() {for (int i = 0; i < 5; i++) {System.out.println("子线程执行输出:"+i);}}
}//主类
public class test {public static void main(String[] args) {//3.创建Thread类的子类的对象Thread threadDemo = new ThreadDemo();//4.通过此对象调用start()方法开启线程threadDemo.start();//主线程任务for (int i = 0; i < 5; i++) {System.out.println("主线程执行输出:"+i);}}
}
方式二:继承Runnable接口
1.创建一个实现Runnable接口的类
2.实现类去实现Runnable中的抽象方法:run()
3.创建实现类的对象
4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
5.通过Thread类的对象调用start()
//1.创建一个实现Runnable接口的类
public class ThreadDemo implements Runnable {//2.实现类去实现Runnable中的抽象方法:run()@Overridepublic void run() {for (int i = 0; i < 5; i++) {System.out.println("子线程执行输出:"+i);}}
}//主类
public class test {public static void main(String[] args) {//3.创建实现类的对象ThreadDemo threadDemo = new ThreadDemo();//4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象Thread t1 = new Thread(threadDemo);//5.通过Thread类的对象调用start()t1.start();//主线程任务for (int i = 0; i < 5; i++) {System.out.println("主线程执行输出:"+i);}}
}