// 基本概念 程序 进程 线程

// 程序:是完成指定任务 用某种语言编写的一组指令的集合

// 进程: 是程序的一次执行过程 或者正在运行的一个程序

// 线程: 进程可以细一步优化成线程,是一个程序内部的一条执行路径

// 若一个进程 同一时间并行执行多个线程 就是支持多线程

// 每个线程拥有独立的 运行栈 和 程序计算器

// 一个进程中的多个线程共享相同的内存单元/内存地址空间

// 他们从同一堆中分配对象 可以访问相同的变量和对象

// 但多线程操作共享的系统资源可能存在安全隐患

// java应用程序 java.exe 至少有三个线程

// main() 主线程

// gc() 垃圾回收线程

// 异常处理线程

// 并行与并发

// 并行 多个CPU同时执行多个任务 比如 多人同时做不同的事

// 并发 一个cpu同时执行多个任务 比如 秒杀 多个人做同一件事

//多线程的优点

// 提高应用程序的详情

// 提高cpu的利用率

// 改善程序结构

//什么时候需要多线程

// 程序需要同时执行两个或多个任务

// 程序需要实现一些需要等待的任务

// 需要一些后台运行的程序