Python中GIL锁是如何影响多线程性能的?

2026-06-11 11:211阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1101个文字,预计阅读时间需要5分钟。

Python中GIL锁是如何影响多线程性能的?

过程:系统运行的程序,是系统分配资源的基本单位。线程:是进程中执行运算的最小单位,是处理器调度的基本单位。处理器:是计算机中存储程序和数据的设备,并按照程序规定执行指令。

进程:系统运行的一个程序,是系统分配资源的基本单位。

线程:是进程中执行运算的最小单位,是处理机调度的基本单位。

处理机:是计算机中存储程序和数据,并按照程序规定的步骤执行指令的部件。包括中央处理器、主存储器、I/O接口。

程序:程序是描述处理机完成某任务的指令序列。

指令:处理机能够解释、直接执行的信息单位。

计算机系统:处理机+外围设备。

并行:多个cpu同时执行多个任务,假设有两个程序,这两个程序在两个不同的cpu上同时运行。

并发:单个cpu交替执行多个任务,假设有两个程序,这两个在该cpu上交替进行运行,而不是同时运行,只是由于执行的时间太快,让人误以为是在“同时进行”。执行的先后取决于对时间片资源的竞争。其中两种并发关系是同步和互斥。

同步:不是指同时进行,指线程之间按一定顺序进行运行,当前一个线程结束时,下一个线程才能够运行。

异步:线程不可以同时进行运行。

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。
(3)处理机分给线程,即真正在处理机上运行的是线程。

阅读全文
标签:

本文共计1101个文字,预计阅读时间需要5分钟。

Python中GIL锁是如何影响多线程性能的?

过程:系统运行的程序,是系统分配资源的基本单位。线程:是进程中执行运算的最小单位,是处理器调度的基本单位。处理器:是计算机中存储程序和数据的设备,并按照程序规定执行指令。

进程:系统运行的一个程序,是系统分配资源的基本单位。

线程:是进程中执行运算的最小单位,是处理机调度的基本单位。

处理机:是计算机中存储程序和数据,并按照程序规定的步骤执行指令的部件。包括中央处理器、主存储器、I/O接口。

程序:程序是描述处理机完成某任务的指令序列。

指令:处理机能够解释、直接执行的信息单位。

计算机系统:处理机+外围设备。

并行:多个cpu同时执行多个任务,假设有两个程序,这两个程序在两个不同的cpu上同时运行。

并发:单个cpu交替执行多个任务,假设有两个程序,这两个在该cpu上交替进行运行,而不是同时运行,只是由于执行的时间太快,让人误以为是在“同时进行”。执行的先后取决于对时间片资源的竞争。其中两种并发关系是同步和互斥。

同步:不是指同时进行,指线程之间按一定顺序进行运行,当前一个线程结束时,下一个线程才能够运行。

异步:线程不可以同时进行运行。

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。
(3)处理机分给线程,即真正在处理机上运行的是线程。

阅读全文
标签: