一、多线程创建
可以通过两种方式创建多线程。
方式一:继承Thread类
1、创建一个继承于Thread类的子类
2、重写Thread类的run() --> 将此线程执行的操作声明在run()中
3、创建Thread类的子类的对象
4、通过此对象调用start()
/**
* @description:多线程的创建:两种方式
* @date: 2020/7/25 10:32
* @author: winson
*/
public class CreateThread {
public static void main(String[] args) {
MyThread t1 = new MyThread();
t1.start();
//如果直接调用父类的run方法,并不会开启新线程,还是在mian线程中执行方法;
//问题一:我们不能通过直接调用run方法的方式启动线程;
//t1.run();
//问题二:再启动一个线程,遍历50内的偶数,不可以还让已经start()的线程去执行,会报java.lang.IllegalThreadStateException异常
//我们需要重新创建一个线程的实例对象;
MyThread t2 = new MyThread();
t2.start();
for (int i = 0; i < 50; i++) {
if (i % 2 == 0) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
}
/**
* 方式一:继承Thread类
* 1、创建一个继承于Thread类的子类
* 2、重写Thread类的run() --> 将此线程执行的操作声明在run()中
* 3、创建Thread类的子类的对象
* 4、通过此对象调用start()
*/
class MyThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 50; i++) {
if (i % 2 == 0) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
}