目录
一:多线程概述
进程
正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。
线程
是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行路径,则称为单线程程序。 一个进程如果有多条执行路径,则称为多线程程序。
举例
扫雷游戏,百度网盘下载等
二:并行与并发
并发:指的是逻辑上同时发生,指在某一时间段内同时运行多个程序
并行:指的是物理上同时发生,指在某一时间点上同时运行多个程序
三: Java程序的运行原理
java 命令会启动 java 虚拟机,启动 JVM,等于启动了一个应用程序,
也就是启动了一个进程。
该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法。
所以 main方法运行在主线程中。在此之前的所有程序都是单线程的。
四:JVM启动的时候是单线程还是多线程呢?
多线程。
主线程
垃圾回收线程。
所以在JVM启动的时候,最低要求有两个线程,JVM启动的时候是多线程的。