首页 > IT职业 > IT生活 > python GIL的使用及弊端处理

用处
1、解决多线程间数据的完整性和状态同步问题。
例如,Python对象的管理是用引用计数器进行的,引用数为0释放对象。开始:线程a和线程b引用对象obj、obj.ref_num=2,线程a和b都想取消obj的引用。
2、避免GIL带来的限制,用IO密集型计算,或使用multiprocessing的多过程机制实现并行计算。
(1)多线程threading机制仍然有用,用IO密集型计算。在I/O(read、write、send、recv、etc.)期间,线程释放GIL,实现CPU和IO的并行。因此,多线程用于IO密集型计算,可以大幅度提高速度。然而,当多线程用于计算中央处理器密集时,只会更慢。
(2)使用multiprocessing的多过程机制实现并行计算,利用多核心CPU的优势。为了应对GIL的问题,Python提供了multiprocessing。
以上就是python GIL的使用及弊端处理,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1834/viewspace-2829662/ ,如需转载,请注明出处,否则将追究法律责任。