多线实现及多线程相关方法的解释
话不多说,上图:
线程中的方法
void run() 在线程开启后,此方法将被调用执行
void start() 使此线程开始执行,java虚拟机会调用run方法()
run()方法重写的原因:用来封装被线程执行的代码
run()方法和start()方法的区别
run()方法:封装线程执行的代码,直接调用,相当于普通方法的调用
start()方法:启动线程,然后由JVM调用此线程的run()方法
多线程实现之继承Thread类
-
实现步骤
- 定义一个类MyThread继承Thread类
- 在MyThread类中重写run()方法
- 创建MyThread类的对象
- 启动线程
-
测试类
public class ThreadDemo {
public static void main(String[] args) {
//创建线程类对象
Thread threadTest = new ThreadTest();
//线程启动
threadTest.start();
}
}
- 线程类
//创建ThreadTest类继承Thread
public class ThreadTest extends Thread{
//重写原因,封装线程被执行的的代码
@Override
//用来封装线程执行的代码
public void run() {
for(int i=0;i<100;i++) {
System.out.println(i);
}
}
}
多线程实现之实现Runnable接口
- 定义一个类Run实现Runnable接口
- 在Run类中重写run()方法
- 创建Run类对象
- 创建Thread类对象,把Run对象作为构造方法
- 启动线程
- 测试类跟Run类在同一个包下
public class RunnableTest{
public static void main(String[] args) {
//创建Run类的对象
Run r = new Run();
Thread t = new Thread(r);
t.start();
}
}
//定义一个类Run实现Runnable接口
class Run implements Runnable{
@Override
//重写run()方法
public void run() {
for(int i=0;i<100;i++) {
System.out.println(i);
}
}
}
小彩蛋
时值中秋,中秋节快乐!!!