python做一個進(jìn)度條 python多線程為什么沒有并行?
python多線程為什么沒有并行?1. 什么是吉爾???Gil的全名是global interpreter lock(global interpreter lock),源于Python設(shè)計之初的考慮和
python多線程為什么沒有并行?
1. 什么是吉爾?
??Gil的全名是global interpreter lock(global interpreter lock),源于Python設(shè)計之初的考慮和對數(shù)據(jù)安全的決策。
2. 每個CPU只能同時執(zhí)行一個線程
??事實上,單核CPU下的多線程只是并發(fā),而不是并行。并發(fā)性和并行性是同時處理多個請求的概念。但是并發(fā)和并行之間有區(qū)別。并行意味著兩個或多個事件同時發(fā)生,而并發(fā)意味著兩個或多個事件在同一時間間隔發(fā)生。
百度搜索圈t社區(qū)(www.aiquanti.com)免費視頻教程
多線程不能“快速”打印數(shù)字。
多線程加速的原因是有條件的。主要解決兩個問題。一是充分利用多個cpu(或多核cpu)實現(xiàn)并行計算。另一種是異步調(diào)用來實現(xiàn)延遲隱藏。在打印數(shù)字的要求方面,使用多線程必須鎖定顯示結(jié)果的代碼,否則輸出會比較混亂。因此,多線程不僅不可能更快,而且更慢,不用說代碼更麻煩。