进程线程区别,和线程初识
进程
是计算机中最小的资源分配单位
在利用多个CPU执行的过程中,对多个程序的资源进行管理和隔离
进程的弊端
开启和关闭 以及 切换 都会带来很大的时间开销
过多的进程还会造成操作系统调度的压力
线程
线程是CPU调度的最小单位
每个进程中至少有一个线程
实际上执行代码的是线程
线程属于进程
进程负责获取操作系统分配给我的资源
线程负责执行代码
从代码的角度上来看
多进程
开启和结束 时间开销大
切换的效率低
内存隔离
多线程
开启和结束 时间开销非常小
切换效率高
内存不隔离
Cpython解释器下的全局解释器锁
在同一个进程中的多个线程在同一时刻只能有一个线程访问CPU
多线程无法形成并行
锁的线程
什么时候才会有到CPU
程序计算的时候
IO阻塞
是不会用到CPU的
Jpython解释器就没有全局解释器锁
pypy解释没有全局解释器锁
4cpu
起四个进程
进程里起线程
线程 from threading import Thread
t = Thread()