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

    GIL在Python多线程的应用

    小妮浅浅小妮浅浅2021-02-23 16:30:10原创1710

    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 gil
    品易云
    上一篇:python中Plotly Express是什么? 下一篇:python对象容器和回收的详解

    相关文章推荐

    • python中@是什么意思• python中如何画火山图• python如何应用于数据的基础统计分析• Python Vlookup函数的查询• python使用Plotly实现动画设计• python中Plotly Express是什么?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网