谈下python的GIL
2024-08-22 19:22:48
GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大
最新文章
- wpf 触发器理解
- codevs 2651 孔子教学——同桌
- 在线音乐网站【04】Part two 功能实现
- WPF关于Generic.xaml
- html:关于表单功能的学习
- 洛谷 P1238 走迷宫
- 打造高性能Java应用需掌握的5大知识
- SQl为表添加和删除列
- maven profile实现多环境打包
- Oracle_Q&;A_01
- Byte Array to Hexadecimal String
- 决策树ID3算法的java实现
- virsh 常用操作
- python语法_集合
- 马凯军201771010116《面向对象与程序设计Java》第九周学习总结
- webmagic 的 helloworld
- 性能调优6:Spool 假脱机调优
- js去除数组重复成员
- java界面设计(swing)
- 2、以自定义struct或struct指针作为map的Key
热门文章
- Description Resource Path Location Type Unknown Unknown Unknown	org.eclipse.core.internal.resources.Marker is not of a displayable type
- 删除链表的倒数第 n 个节点
- 平衡二叉树详解——PHP代码实现
- 各种变异绕过XSS过滤器
- springboot学习入门简易版八---springboot2.0多环境配置、整合mybatis mysql8+(19-20)
- python两则99乘法表
- Java Decompiler反编译Jar文件
- kubectl 命令自动补全
- Java 使用Builder解决构造函数参数过多的问题
- PAT_A1059