进程和线程的区别
一、大致区别
程序是一种静态概念,是保存在磁盘上的一系列文件
进程是一种动态概念,是运行中的程序,一个程序包括一个或多个进程
二、大致细分区别
线程
- 线程是CPU资源分配的最小单元
- 线程需要的资源更少,可以看做是一种轻量级的进程
- 线程会共享进程中的内存,线程也有独立的空间(栈、程序计数器)
- 线程相互通信更加方便
进程
- 进程是程序执行相关资源(CPU、内存、磁盘等)分配的最小单元
- 进程是一系列线程的集合
- 进程之间是相互独立的,有自己的内存空间
2、并发和串行
- 串行:多个指令依次执行
- 并行:多个CPU内核同时执行多个线程,线程是同时执行的
- 并发:每个线程单独执行一段指令,一个cpu在线程间切换(并不是同时执行)
3、线程的实现方式
- 继承Thread类
- 重写run方法
- 调用start启动线程