python的GIL锁
进程:系统运行的一个程序,是系统分配资源的基本单位。 线程:是进程中执行运算的最小单位,是处理机调度的基本单位。 处理机:是计算机中存储程序和数据,并按照程序规定的步骤执行指令的部件。包括中央处理器、主存储器、I/O接口。 程序:程序是描述处理机完成某任务的指令序列。 指令:处理机能够解释、直接执行的信息单位。 计算机系统:处理机+外围设备。 并行:多个cpu同时执行多个任务,假设有两个程序,这两个程序在两个不同的cpu上同时运行。 并发:单个cpu交替执行多个任务,假设有两个程序,这两个在该cpu上交替进行运行,而不是同时运行,只是由于执行的时间太快,让人误以为是在“同时进行”。执行的先后取决于对时间片资源的竞争。其中两种并发关系是同步和互斥。 同步: 不是指同时进行 , 指线程之间按一定 顺序 进行运行,当前一个线程结束时,下一个线程才能够运行。 异步:线程不可以同时进行运行。 (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。 (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。 (3)处理机分给线程,即真正在处理机上运行的是线程