根据python的特性说说为什么要引入GIL锁
2021-03-18 06:25
标签:解释 唤醒 存在 虚拟 相关 资源 使用 执行 进入 python中对象的管理与引用计数相关,,当引用计数变为0时,该对象便会被垃圾回收器回收,当撤销对一个对象的引用时,python 解释器对对象以及计数管理会分为以下两步: 1,使用引用计数减一 2.判断该计数是否为0,如果为0,则销毁该对象 假设a,b线程同时引用一个对象obj,此时该对象的引用计数为2,如果线程a打算撤销对该对象的引用,引用计数减一,由于存在多线程机制,a恰巧在此时被挂起,b进入执行状态,但b不幸的是b此时也要撤销对该对象的引用,引用计数减一,此时obj的引用计数为0,因此该对象被销毁,内存被释放,此时a再次被唤醒去执行第二步的操作时发现已经面目全非,则其操作结果未可知。 鉴于此python引入GIL,以保证对虚拟机内部共享资源访问的互斥性。 根据python的特性说说为什么要引入GIL锁 标签:解释 唤醒 存在 虚拟 相关 资源 使用 执行 进入 原文地址:https://www.cnblogs.com/xwyjh/p/13956403.html
文章标题:根据python的特性说说为什么要引入GIL锁
文章链接:http://soscw.com/index.php/essay/65654.html