技术文章 > Python技术 >  Python基础教程 > 正文

GIL在Python多线程的应用

小妮浅浅

1、说明

GIL对I/O绑定多线程程序的性能影响不大,因为线程在等待I/O时共享锁。

GIL对计算型绑定多线程程序有影响,例如: 使用线程处理部分图像的程序,不仅会因锁定而成为单线程,而且还会看到执行时间的增加,这种增加是由锁的获取和释放开销的结果。

2、实例

顺序执行单线程(single_thread.py)

import threading
import time
 
def test_counter():
    i = 0
    for _ in range(100000000):
        i += 1
    return True
 
def main():
    start_time = time.time()
    for tid in range(2):
        t1 = threading.Thread(target=test_counter)
        t1.start()
        t1.join()
    end_time = time.time()
    print("Total time:{}".format(end_time-start_time))
 
 
if __name__ == "__main__":
main()

以上就是GIL在Python多线程的应用,希望能对大家有所帮助,更多知识尽在python学习网。

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  新入门学习python 怎么快熟?
  python中@是什么意思
  python中如何画火山图
  python如何应用于数据的基础统计分析
  Python Vlookup函数的查询
  python使用Plotly实现动画设计
  python中Plotly Express是什么?
相关视频章节
  什么是tkinter窗口
  例子3 登录窗口
  例子2 登录窗口
  例子1 登录窗口
  pack grid place 放置位置
作者信息

小妮浅浅

认证0级讲师

最近文章
python在协程中增加任务 458
python pyg2plot的原理 354
python中pyg2plot如何使用? 160
推荐视频
视频教程分类