近日看到新闻:

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.start()
p2.start() p1.join()
p2.join()
print(time.time()-a)

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

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

python3.13是否移除了GIL的限制的更多相关文章

  1. Python 官方研讨会:彻底移除 GIL 真的可行么?

    作者:Łukasz Langa 译者:豌豆花下猫,来源:Python猫 原文:https://lukasz.langa.pl/5d044f91-49c1-4170-aed1-62b6763e6ad0 ...

  2. python接口自动化测试二十七:密码MD5加密 ''' MD5加密 ''' # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待加密信息 str = 'asdas89799,.//plrmf' # 创建md5对象 hl = hashlib.md5() # Tips # 此处必须声明encode # 若写法为

    python接口自动化测试二十七:密码MD5加密   ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import has ...

  3. Python3 源码阅读-深入了解Python GIL

    今日得到: 三人行,必有我师焉,择其善者而从之,其不善者而改之. 今日看源码才理解到现在已经是2020年了,而在2010年的时候,大佬David Beazley就做了讲座讲解Python GIL的设计 ...

  4. python3.X中pickle类的用法(cPickle模块移除了)

    1.python3.x中移除了cPickle模块,可以使用pickle模块代替.最终我们将会有一个透明高效的模块. 2.因为存储的是对象,必须使用二进制形式写进文件 #!/usr/bin/python ...

  5. 向python3进发

    在Python2.x中,交互输入有input和raw_input两种方法 input-----------tmd是个坑,就别用 raw_input------把输入无论是Int或str都当做是str处 ...

  6. Python全局解释器锁 -- GIL

    首先强调背景: 1.GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定. 2.每个CPU在同一时间只能 ...

  7. 并发,并行,线程,进程,GIL锁

    1.并发和并行 并发: 同时做某些事,但是强调同一时段做多件事 如:同一路口,发生了车辆要同时通过路面的时间. 并行: 互不干扰的在同一时刻做多件事 如:同一时刻,同时有多辆车在多条车道上跑,即同时发 ...

  8. 融合python2和python3

    很多情况下你可能会想要开发一个程序能同时在python2和python3中运行. 想象一下你开发了一个模块,成百上千的人都在使用它,但不是所有的用户都同时使用python 2和3.这种情况下你有两个选 ...

  9. 关于python的GIL全局解释器锁的简单理解

    GIL是解释器内部的一把锁,确切一点说是CPython解释器内部的一把锁,所以要注意区分 这和我们在Python代码中使用线程锁Lock并不是一个层面的概念. 1. GIL产生的背景: 在CPytho ...

  10. Python “No module named” 以及在Python2中可以导入,但在python3中却出现的原因

    Python “No module named” 以及在Python2中可以导入,但在python3中却出现的原因 原因之1: 例如有这样的一个包和它的模块: Test __init__.py Mod ...

随机推荐

  1. 解密Prompt系列31. LLM Agent之从经验中不断学习的智能体

    Agent智能体的工作流可以简单分成两种:一种是固定的静态工作流,一种是智能体自主决策的动态工作流. 静态流程的Agent举几个例子,例如新闻热点追踪推送Agent,每日新论文摘要总结Agent,它们 ...

  2. Linux使用docker搭建maven私有仓库

    引言 在实际开发工作中,通常需要搭建maven私有仓库,今天就教大家如何搭建一套maven的私有仓库 Nexus介绍 Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓 ...

  3. 使用Kimi+Markmap总结网页内容生成思维导图

    AI可以帮助我们更高效地阅读文章进行提炼总结,像上图这张思维导图,就是使用Kimi进行内容提炼,再使用markmap生成思维导图,下面讲解下详细实现步骤: 一.工具准备 Kimi,将文章或一篇网页投给 ...

  4. pytest_fixture通过参数request获取测试数据,并在fixture方法里面使用

    pytest fixture传参request的使用 获取request对pytest插件的版本有要求,如果找不到request报错的话, 建议先升级pytest的版本 要实现的效果 执行测试用例,调 ...

  5. 在AS中logcat的设置过滤信息图文教程

    [当前使用版本 1.4] logcat是调试代码的很好工具,但是因为跳出的信息过多让人目不暇接,未必能让人找到想要的信息,所以我们必须从中过滤出想要的信息 [样例]这里我们要搜索 System.out ...

  6. mysql的varchar和oracle的varchar2比较

    首先说结论: 1.mysql存储的是字符数(不分语言) 2.oracle存储的需要看定义,如果定义为varchar2(n),则默认是n个字节,如果是varchar2(n char)则是n个字节. 3. ...

  7. (数据科学学习手札162)Python GIS神器geopandas 1.0版本发布

    本文完整代码及附件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,就在昨天,Python生 ...

  8. Gerrit 大量代码提交流程优化

    # Gerrit 大量代码提交流程优化 背景 本文适用于 提交大量初始代码 的场景(仓库版本的早期). 有时候提交大量代码到Gerrit的时候会提示: $ git push Counting obje ...

  9. 高通SOC启动流程

    背景 开始接手高通开发的有关工作,为了调试底层驱动,因此有必要了解高通平台上电启动的流程是怎么样的. 以 MSM8953 为例子. MSM:mobile station modems,移动基带处理器, ...

  10. QT学习:05 元对象系统

    --- title: framework-cpp-qt-05-元对象系统 EntryName: framework-cpp-qt-05-mos date: 2020-04-09 17:11:44 ca ...