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學習指路:
本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1834/viewspace-2829662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 低程式碼開發平臺的好處及弊端
- Python GILPython
- 同步的特點,好處,弊端
- Python文字預處理:步驟、使用工具及示例Python
- GridLayout的使用及問題處理
- 詳解Python GILPython
- 你見過Python的GIL嗎Python
- python GIL 全域性鎖Python
- 使用 Python 處理 CSV 檔案Python
- 對 Python 中 GIL 的一點理解Python
- Python中如何切換GIL?Python
- [Python影象處理] 七.影象閾值化處理及演算法對比Python演算法
- Python使用xlrd處理excel資料PythonExcel
- GIL在python的獲取和釋放Python
- Python異常處理 try、except和else的使用Python
- 使用python進行簡單的媒體處理Python
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- Python影像處理初探:Pillow庫的基礎使用Python
- [Python影象處理] 一.影象處理基礎知識及OpenCV入門函式PythonOpenCV函式
- Python時間處理常用模組及用法詳解!Python
- 3.python檔案操作及異常處理Python
- Python GIL(Global Interpreter Lock)Python
- Python使用struct處理二進位制PythonStruct
- Python 影像處理 OpenCV (6):影像的閾值處理PythonOpenCV
- Python List 列表的處理Python
- [Python影象處理] 三.獲取影象屬性、興趣ROI區域及通道處理Python
- Python處理驗證碼第一篇(pytesser初探及報錯處理)Python
- sklearn: CountVectorize處理及一些使用引數
- 使用 pytz 處理 Python 中的時區問題Python
- 異常的捕獲及處理
- 醫學影像處理相關軟體及python包Python
- python EXCEL處理PythonExcel
- python切片處理Python
- python處理ExcelPythonExcel
- Python 影像處理 OpenCV (3):影像屬性、影像感興趣 ROI 區域及通道處理PythonOpenCV
- [Python影像處理] 三十.影像量化及取樣處理萬字詳細總結(推薦)Python
- Python GIL(全域性直譯器鎖)Python
- Python多執行緒與GIL鎖Python執行緒