簡體   English   中英

在多個內核上運行python線程

[英]Run python threads on multiple cores

我知道Python 2.7不允許一個人在不同的內核上運行多個線程,並且您需要使用multiprocessing模塊才能實現一定程度的並發性。 我正在查看Python 3.4中的concurrent.futures模塊。 使用ThreadPoolExecutor是否允許您在不同的進程上運行不同的線程,還是仍然受到GIL約束的約束? 如果沒有,是否可以使用Python 3.4在不同的處理器上運行線程?

對於我的用例,使用多個進程絕對是不可行的。

否。ThreadPoolExector只是一個類,可以幫助安排多個線程上的工作。 所有常規線程約束仍然適用。

為了消除混亂,線程將根據操作系統的選擇在不同的處理器/內核上運行,它們不會同時運行。 唯一的例外是某些基於C的函數在執行不需要鎖定的操作時會臨時釋放GIL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM