我想用多線程,爲了保持它的簡單,首先,我運行下面的代碼:蟒蛇池不起作用
import multiprocessing as mp
pool = mp.Pool(4)
def square(x):
return x**2
results=pool.map(square,range(1,20))
按照我的理解,結果應該是一個列表包含從1到20的正方形。 但是,代碼似乎並未終止(在沒有閃爍的情況下完成相同的操作時,此操作持續了幾分鐘,之後我手動停止)。
附加信息:任務管理器告訴我,附加的python進程已經啓動並正在運行,但正在使用我的cpu的零%;還有其他不相關的進程,比如在他們的CPU使用情況下,火狐飛漲,而程序正在運行。 我使用的是Windows 8和一個i5-4300U cpu(共用2而不是4也沒有幫助)
我在做什麼錯? Pool類有沒有很好的資源,可以幫助我理解我的代碼出了什麼問題?
嘗試在您實例池顛倒順序,並定義方 – user234461
關於Python 3.4的游泳池拋出/ Linux的我越來越AttributeErrors過程 – user234461
閱讀多文檔中的特定Windows的提示,要特別注意需要'if __name__ =='__main __''。 –