在Java中,创建线程有三种方式:
- 继承Thread类
- 实现Runnable接口
- 实现Callable接口
通过Thread实现的步骤如下:
- 自定义线程类继承Thread类
- 重写run()方法,编写出线程的执行体
- 创建线程对象,调用start()方法启动执行
注意:
开启线程的方法是start()方法,线程类里面有run方法,启用start方法时候就会执行run方法了。千万不能用run()方法,这样是顺序执行,而非多线程。
package com.company.threadlesson;
//创建线程方式一:继承Thread类,重写run方法,调用start开启线程
public class TestThread1 extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i< 20; i++) {
System.out.println("reading code"+i);
}
}
public static void main(String[] args) {
//main线程,主线程
//创建一个线程对象
TestThread1 testThread1=new TestThread1();
//调用start方法开启线程
testThread1.start();
for (int i = 0; i < 20; i++) {
System.out.println("studying"+i);
}
}
}
从运行结果图可以看出两个任务是交替执行,因此实现了多线程
PS:线程开启不一定立即执行,而是由CPU调度的