知行编程网知行编程网  2023-01-13 18:00 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于GIL在Python多线程的应用的相关知识,包括winform多线程,以及python gil 多线程这些编程知识,希望对大家有参考作用。

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学习网。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享