导语:
本文主要介绍了关于GIL在Python多线程的应用的相关知识,包括winform多线程,以及python gil 多线程这些编程知识,希望对大家有参考作用。
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形状函数是如何使用的?08/31
- ♥ python2.7不能使用pip怎么办10/09
- ♥ virtualenvwrapper如何在python中安装虚拟环境?12/17
- ♥ python新手如何系统学习?这4个阶段值得收藏11/04
- ♥ 哪个python web框架更好11/07
- ♥ 如何在python中使用列表11/07
内容反馈