為什麼有人說Python的多執行緒是雞肋

時間 2021-09-04 16:29:49

1樓:

多執行緒還是有用的,多程序有多程序的好處,多執行緒有多執行緒的好處。

多程序穩定,啟動時開銷大點,但如果你的執行時間遠大於多程序的時間,用多程序比較方便,如postgresql用多程序,chrome 多程序。

如果你只是想做個定時器樣的簡單東西,對穩定性要求低些,如vb,c#類似的定時器,用多執行緒吧,但執行緒的同步要注意了。python的執行緒更加類似定時器,python的執行緒不是真執行緒,但有的場合用這種定時器也能解決很多問題,因為開銷小,開啟也方便。

程序和執行緒,一個是重量級的,一個輕量級的,重量級的程序有保護區,程序上下文都是作業系統保護的,而執行緒是自己管理,需要一定的技術,不能保證在併發時的穩定性(多程序也不穩定,但很容易看出來,因為多出了程序容易發現),而python的更像是定時器,定時器有時也可以模擬執行緒,定時器多時的開銷比執行緒的開銷要小,真執行緒有下上文開銷,一個作業系統啟動多程序和多執行緒會達到切換飽和是有數量的,真執行緒或程序太多都會導致cpu佔用率居高不下,而定時器可以開n多。

很多東西不是一種比另外一種先進,而是一種互補的關係,計算機的計算單位切換有優點必有缺點,關鍵在找到合適的使用方式揚長避短。

2樓:佘恩宰父沛珊

因為python的全域性直譯器鎖的機制,

導致python的多執行緒並不是真正的多執行緒,效率上不僅不會比單執行緒快,反而可能更慢,

所以說是雞肋,要求速度好話,可以用多程序來實現

3樓:賞宣澄白梅

由於python是一種解釋性指令碼語言,因此執行過程中始終存在全域性執行緒鎖。

簡單的來說就是在實際的執行過程中,python只能利用一個執行緒,因此python的多執行緒並不達到c語言多執行緒的效能。

建議使用多程序來代替多執行緒,但需要注意的是多程序最好不要涉及到例如檔案操作的頻繁操作io的功能。

為什麼有人說泰姬陵是泰國的,為什麼有人說泰姬陵是泰國的? 10

的人 泰姬陵 波斯語,烏爾都語 全稱為 泰姬 瑪哈爾陵 又譯泰姬瑪哈,是印度莫臥兒帝國著名的建築,為紀念死去的皇妃而修建的泰姬陵。在今印度距新德里200多公里外的北方邦的阿格拉 agra 城東南,亞穆納河南側,被譽為 完美建築 又稱為 印度的珍珠 它由殿堂 鐘樓 尖塔 水池等構成,全部用純白色大理石...

為什麼有人說,人老了不要過生日,為什麼有人說,老人不能過大壽?

望著你遠去 一個人從他剛出生到16歲之前,都可以給孩子過生日,可以大張旗鼓的過生日。因為一個人在16週歲之前可以稱為 神 而不是人。每個人從十七歲到他五十九歲的時候,過生日就變的謹慎一些了,因為人在這個年齡的時候已經從 神 變成了人,雖然可以過生日,但是不建議大操大辦,最好是但根據當地的風俗來過生日...

為什麼有人說不要跟窮人做朋友,為什麼有人說不要跟窮人做朋友?

首先,你有沒有想過,怎樣的條件才算事窮人,在每個階級人的心中都會有對於窮人的標準,每個階級的人看比自己階級低幾級的都可能覺得對方窮人,如果說真正的窮人,根據不同城市來說,可能是勉強溫飽,或者溫飽都成問題的人,如果從廣義上來說,那金字塔最下面兩層,估計都是窮人,因為他們人數佔比高的離譜,但占有資源卻是...