这篇文章主要介绍了python GIL怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
1、用处
解决多线程间数据的完整性和状态同步问题。
例如,Python对象的管理是用引用计数器进行的,引用数为0释放对象。开始:线程a和线程b引用对象obj、obj.ref_num=2,线程a和b都想取消obj的引用。
2、避免GIL带来的限制
(1)多线程threading机制仍然有用,用IO密集型计算。在I/O(read、write、send、recv、etc.)期间,线程释放GIL,实现CPU和IO的并行。因此,多线程用于IO密集型计算,可以大幅度提高速度。然而,当多线程用于计算中央处理器密集时,只会更慢。
(2)使用multiprocessing的多过程机制实现并行计算,利用多核心CPU的优势。为了应对GIL的问题,Python提供了multiprocessing。
感谢你能够认真阅读完这篇文章,希望小编分享的“python GIL怎么用”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。