首页 > 编程语言 >python3.13是否移除了GIL的限制

python3.13是否移除了GIL的限制

时间:2023-08-03 18:24:37浏览次数:53  
标签:python3.13 限制 Thread p1 time print GIL

 

近日看到新闻:

https://baijiahao.baidu.com/s?id=1773013936355276204&wfr=spider&for=pc

https://www.thepaper.cn/newsDetail_forward_24052522?commTag=true

 

 

 

 

 

 

 

 

 

==================================================

 

 

乍一看好像说的是Python3.13开始就不使用GIL了,异常的开心,但是细读后发现说的好像还不太是这个样子,上面说的是开始计划替代GIL了,但是可能考虑在python3.13或3.14版本中加入一些实验性的无GIL实现,并且计划在5年内逐步替代GIL。

从这个话语中我们可以知道:

1. python3.13或python3.14可能会加入一些无GIL的特性,但是也是可能,而且即使加入也只是实验阶段;

2. 虽然官方开始对GIL替换进行操作,但是计划也是要5年的时间才可以完全替代GIL,也就是说在5年时间之内GIL这个应该不太能完全的被摒弃,大家怎么也是还要继续使用GIL 5年时间。

 

 

为了一探究竟于是决定对最新版本的python进行编译,来实地看看是否没有了GIL:

 

import threading
import time
 
def print_time( threadName, delay):
    s = 0

    for i in range(1000000000):
        s+=i

    print(threadName, s)

p1=threading.Thread( target=print_time, args=("Thread-1", 2, ) )
p2=threading.Thread( target=print_time, args=("Thread-2", 4, ) )

a = time.time()
p1.run()
p2.run()
p1.join()
p2.join()
print(time.time()-a)
while True:
    pass

 

 

 

可以看到至少在Python 3.13.0a0版本中还是在继续使用GIL的。

 

 

==========================================================

 

标签:python3.13,限制,Thread,p1,time,print,GIL
From: https://www.cnblogs.com/devilmaycry812839668/p/17604118.html

相关文章

  • 进程,线程和协程;为什么有了GIL锁还要互斥锁;多态和多态性;鸭子类型
    进程,线程和协程;为什么有了GIL锁还要互斥锁;多态和多态性;鸭子类型为什么有了GIL锁还要互斥锁1.GIL本身就是一个大的互斥锁2.同一个进程下资源是共享的,也就是说多条线程可以操作同一个变量3.多个线程可以操作同一个变量就会出现数据安全问题4.临界区:指一段代码或一段程序片段,需......
  • Docker报swap限制警告
    docker告警Yourkerneldoesnotsupportswaplimitcapabilitiesorthecgroupisnotmounted.Memorylimitedwithoutswap./etc/default/grub文件末尾添加vi/etc/default/grub...GRUB_CMDLINE_LINUX="cgroup_enable=memoryswapaccount=1"更新grub,重启服务器updat......
  • HtmlAgilityPack 网页数据抓取基础应用
    1vardoc=newHtmlAgilityPack.HtmlDocument();2stringhtml="";3doc.LoadHtml(html);4Func<HtmlAgilityPack.HtmlNodeCollection,string,Dictionary<string,string>,bool,List<Htm......
  • 为什么有了gil锁还要互斥锁、 进程,线程和协程 、什么是鸭子类型
    目录1为什么有了gil锁还要互斥锁互斥锁保证数据安全2进程,线程和协程在哪用过3什么是鸭子类型1为什么有了gil锁还要互斥锁gil:全局解释器锁,线程要执行,必须先获得到gil锁,才能执行互斥锁:为了保证多线程并发操作数据(变量)而设置的锁,保证在加锁和释放锁之间,其他线程不能操作gi......
  • GIL锁;python垃圾回收机制;计算密集型用多进程,io密集型用多线程
    GIL锁;python垃圾回收机制;计算密集型用多进程,io密集型用多线程GIL锁及其作用1.GIL(GlobalInterpreterLock)又称全局解释器锁,本质就是一个互斥锁。2.它保证了cpython进程中的每个线程必须获得这把锁才能执行,不获得不能执行3.这样使得在同一进程内任何时刻仅有一个线程在执行。4......
  • el-date-picker element Plus 实现限制时间选择范围(7天)
    elementPlus没有picker-options配置项,可以使用:disabled-date="disabledDate"@calendar-Change="calendarChange"配合实现该需求<el-date-pickerv-model="date"type="datetimerange"range-separator=&quo......
  • 什么是gil锁、python的垃圾回收机制是什么样的?解释为什么计算密集型用多进程,io密集型
    目录1什么是gil锁-全局解释器锁:gil锁的作用是什么?为什么要有gil锁?2python的垃圾回收机制是什么样的?-引用计数-标记清除-分代回收3解释为什么计算密集型用多进程,io密集型用多线程计算密集型任务:I/O密集型任务:总结:1什么是gil锁-全局解释器锁:它的本质就是一个大的互斥锁,它......
  • javascript按钮通过cookie限制60s后才可以点击
    javascript按钮通过cookie限制60s后才可以点击1️⃣首先创建一个html页面,放入一个按钮 2️⃣设置点击按钮的触发函数一般当点击按钮都会有一些业务需要,在需求结束后,触发saveCookie的方法 3️⃣saveCookie方法当点击查询按钮之后,触发saveCooike方法,按钮倒计时需要一个结束......
  • 加码反击!限制无人机及相关设备出口 | 百能云芯
    8月1日消息,继限制用于芯片制造的金属镓、锗出口后,中国昨日再宣布,以「维护国家安全与利益」为由,9月1日起将针对部分无人机及相关设备实施出口管制,并订定详细指标。《路透》报道,中国商务部发言人表示,限制范围包括:无人机引擎、激光、通讯以及反无人机系统等设备,针对达到在操作人员自然......
  • 限制IP对接口的调用频率_基于Redis实现
    pom.xml引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>逻辑代码 privatebooleanli......