一:概念
进程:简单的理解就是一个应用程序,每一个进程都有一个执行顺序,该顺序是一个执行的路径,叫控制单元
线程:就是进程中一个独立的控制单元,线程控制这进程的执行。
一个进程中至少包含一个线程。
jvm在启动时就会存在一个java.exe的进程,该进程中至少有一个线程负责java代码的执行,且代码存放在main方法中,我们称之为主线程,实际上jvm在启动时,并不止有一个主线程,还有一个负责垃圾回收的线程。
二:启动一个新的线程
方法1:
- 新建一个类继承Thread类
- 重写Thread类中的run方法,Thread类就定义了一个run方法用于存放线程需要执行的代码
- 调用Thread的start方法,该方法有两个作用,jvm启动线程 并调用线程的run方法
class MyThread extends Thread {
public void run() {
System.out.print("MyThread run");
}
}
class Demo {
public static void main(String[] args) {
MyThread thread = new MyThread();
thread.start();
//调用start方法(调用了底层)jvm才开启了新的线程并执行run方法
//thread.run();仅仅调用run方法,则并没有开启新的线程,和普通对象调用方法是