美文网首页
Python GIL

Python GIL

作者: YugerH | 来源:发表于2020-02-15 11:48 被阅读0次

一、Python GIL

==GIL== :全局解释器锁。每个线程在执行的过程都需要先获取GIL,保证同一时刻只有一个线程可以执行代码

Python多线程的影响:

  • python语言和GIL没有关系,仅仅是由于历史原因在Cpython虚拟机,难以移除GIL
  • 线程释放GIL锁的情况:在IO操作等可能会引起阻塞的system call之前,可以暂时释放GIL,但在执行完毕后,必须重新获取GIL,Python3使用计时器
  • Python使用多进程是可以利用多核的CPU资源的
  • 多线程爬取比单线程性能有提升,因为遇到IO阻塞会自动释放GIL锁

==主线程==死循环

while True:
    pass

2个==线程==死循环

import threading

# 子线程死循环
def test():
    while True:
        pass

t1 = threading.Thread(target=test)
t1.start()

# 主线程死循环
while True:
    pass

2个==进程==死循环

import multiprocessing

def deapLoop():
    while True:
        pass
        
# 子进程死循环
p1 = multiprocessing.Process(target=deapLoop)
p1.start()

# 主进程死循环
while True:
    pass

相关文章

  • Python day28_GIL 深拷贝浅拷贝

    GIL(全局解释器锁) GIL面试题如下 描述Python GIL的概念, 以及它对python多线程的影响?编写...

  • GIL

    一,GIL的概念 python全局解释器锁。 二,GIL产生的原因 GIL 并不是 Python 语言的特性,它是...

  • 线程安全,GIL全局锁

    1. GIL是什么? GIL不是Python特性GIL是实现Python解释器(Cpython)时引入的概念,而C...

  • Python高级语法1:GIL锁&浅拷贝&深拷贝

    一、GIL锁 1.1、GIL面试题:描述Python GIL的概念, 以及它对python多线程的影响?编写一个多...

  • python入门系列:多线程

    python中的GIL GIL(Global Interpreter Lock),就是一个锁。 Python中的一...

  • python中的GIL详解

    原文链接 GIL并不是Python的特性,Python完全可以不依赖于GIL。 ​ GIL 锁: 全局解释器锁,作...

  • python之理解GIL

    python之理解GIL 1、GIL简介 GIL的全称为Global Interpreter Lock,全局解释器...

  • 008 12. python提高-1

    12.1. GIL GIL(全局解释器锁) GIL面试题如下 描述Python GIL的概念, 以及它对pytho...

  • python多线程

    python基础之多线程锁机制 GIL(全局解释器锁) GIL并不是Python的特性,它是在实现Python解析...

  • Python GIL 和 Flask

    GIL: 多线程反而更慢 Python有个GIL ( Global Interpreter Lock ), 使得同...

网友评论

      本文标题:Python GIL

      本文链接:https://www.haomeiwen.com/subject/uruefhtx.html