创建多线程的方式1:通过创建Thread的子类
- ①:创建一个继承与Thread的子类
- ②:重写run方法
- ③:创建Thread类的子类的对象
- ④:通过此对象调用start方法
//①.创建一个继承与Thread的子类
class MyThread extends Thread{
//②.重写run方法
public void run() {
for (int i = 0; i < 20; i++) {
if (i%2==0) {
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
}
}
public class ThreadTest {
public static void main(String[] args) {
//③.创建Thread类的子类的对象
MyThread h1 = new MyThread();
//④.通过此对象调用start方法
h1.start();
//主线程内遍历20以内的偶数
for(int i = 0; i < 20; i++) {
if (i%2==0) {
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
}
}
运行结果:
也可以通过创建Thread类的匿名子类来创建多线程:
- ①:创建一个继承与Thread类的匿名子类
- ②:在匿名子类内重写run方法
- ③:通过此匿名子类直接调用调用start方法
public class ThreadTest {
public static void main(String[] args) {
//创建Thread类的匿名子类
new Thread() {
//匿名子类内重写run方法,遍历20以内的奇数
public void run() {
for (int i = 0; i < 100; i++) {
if (i%2==1) {
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
}
}.start();
//在主线程里遍历20以内的偶数
for (int i = 0; i < 20; i++) {
if (i%2==0) {
System.out.println(Thread.currentThread().getName()+" "+i);
}
}
}
}
运行结果: