近日看到新闻:

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. mysql GROUP_CONCAT给每个值加上单引号后再拼接

    经常使用group_concat拼接数值,但有一些中文在拼接时添加单引号会比较好, 该怎么操作呢? 可以使用如下语句,在字段前添加四个单引号和逗号,并在字段后也添加一个引号和四个单引号: 1 SELE ...

  2. 一个开源且全面的C#算法实战教程

    前言 算法在计算机科学和程序设计中扮演着至关重要的角色,如在解决问题.优化效率.决策优化.实现计算机程序.提高可靠性以及促进科学融合等方面具有广泛而深远的影响.今天大姚给大家分享一个开源.免费.全面的 ...

  3. Springboot - log4j2

    log4j2 springboot中默认的日志框架是logback,如果要使用log4j2,需要先去除默认的日志框架 <!-- 去除系统默认的logback日志框架,使用自己配置的框架 --&g ...

  4. Linux虚拟网卡TUN和TAP

    简介 在 Linux 网络管理中,虚拟网卡(Virtual Network Interface)是一个重要的概念,广泛应用于虚拟化.网络仿真和隧道技术中.本文将重点介绍 TUN(Network TUN ...

  5. css 让页面变灰色

    html { -webkit-filter: grayscale(1); }-webkit-filter(滤镜)有十种效果,分别是:     // grayscale 灰度     // sepia ...

  6. ELKF(elasticsearch、logstash、kibana、filebeat)搭建及收集nginx日志

    1.elasticsearch 1.1.根目录下新建data文件夹 1.2.修改elasticsearch.yml文件,添加以下内容 path.data: /home/wwq/elk/elastics ...

  7. rar终端常用命令

    rar终端常用命令 1. 跳过目录: rar a xxx.rar -x./path_to_dir/ ./xxx/ [注] rar后面的文件夹不需要通配符 2. 加密码 rar a xxx.tar -p ...

  8. 在Python中输出当前文件名和行号

    在Python中输出当前文件名和行号 用 inspect 库 info = inspect.currentframe() print('DEBUG!! ',info.f_code.co_filenam ...

  9. Linux 使用 Swap分区

    Linux 使用 Swap分区 背景 买的云服务器在使用的时候,资源经常不够,因此需要使用swap分区. Swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序 ...

  10. ARM Cortex-A系列处理器性能分类比较

    在如今这个电子产品泛滥的年代,仅仅靠品牌或是外观已经不足以辨别产品的优劣,其内置的处理器自然也就成为了分辨产品是否高端的标准之一.那么我们今天就不妨好好了解一下近几年来电子产品中较为主流的RAM处理器 ...