回覆列表
  • 1 # 滴逃逃

    Python多執行緒是不是雞肋,是,GIL那個東西再那裡擺著,就算在多核下面Python也是無法並行的,這個好理解嘛,就相當於做了個分時複用。

    Python多執行緒有沒有用,有,你去爬圖片站的時候,用單程序單執行緒這種方式,程序很容易阻塞在獲取資料socket函式上,多執行緒可以緩解這種情況。你說解決沒有,要是每個請求都阻塞起了,那多執行緒也沒什麼用(當然,這種情況沒見過哈)。

    Python的優勢就在於寫起來快,用起來方便。你要做計算密集型的,還想並行化的話,還是用C吧。

  • 2 # IT資訊i

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

    導致python的多執行緒並不是真正的多執行緒,

    效率上不僅不會比單執行緒快,反而可能更慢,

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

    百度搜索圈T社群(www.aiquanti.com) 免費影片教程

  • 3 # 上海網際網路架構師

    這句話是片面的:

    GIL鎖限制了一個程序內的不同執行緒在同一個時刻只能佔用一個CPU,由此可見,用多執行緒處理計算密集型的任務,python的多個執行緒需要互相等待獲取CPU資源,此時的多個執行緒並不能並行,確實沒有發揮我們預想中多執行緒的能力。

    但是,如果執行的是IO密集型的任務,多個執行緒之間不存在太多的CPU資源的爭奪,更多的是各個執行緒在進行IO傳輸、等待,此時多執行緒的能力仍然能夠發揮出來。

    所以不能簡單的說Python的多執行緒是雞肋,只是它的設計侷限了它的適用場景罷了。

  • 中秋節和大豐收的關聯?
  • 當人與手槍的距離為多少時,手槍射出的子彈才不會將人打死?