為什麼多執行緒沒有讓我的Python程式碼更快？我該如何解決它。
Python 使用全域性直譯器鎖（稱為 GIL）限制對直譯器的訪問，以滿足內部執行緒安全要求。不幸的是，這一設計決策限制一次只允許一個執行緒解釋 Python 程式碼，即使在一臺能夠同時執行多個執行緒的機器上也是如此。

如果您希望在一組資料上執行 Python 程式碼，並且資料可以分解為獨立的段（這個過程稱為資料分割槽），您可能希望研究一下 Python 中的多處理庫。

作為示例，考慮函式 foo，它採用一個引數 arg1，並假設您想要對多個值（例如 val1、val2 和 val3）執行 foo 函式。

def foo(arg1):
  ＃ 做一點事

如果 __name__ == '__main__':
  foo(val1)
  foo(val2)
  foo(val3)

要讓 foo 在多個程序上一起執行，您可以使用多處理池一起執行多個工作程序：

從多處理匯入池

def foo(arg1):
  ＃ 做一點事

如果 __name__ == '__main__':
  p = 池()
  p.map(foo, [val1, val2, val3])

多處理庫還提供了用於並行程式設計的各種其他 API。你想了解更多嗎？