2017-05-13 162 views
0

我想使用線程池來加速進程。雖然編譯沒有錯誤,但是不顯示'輸入calc'。我的代碼是否正確?Python線程池

此外,如何清除殼牌的屏幕。我嘗試了從網絡搜索的方法,但它們不起作用。

此外,我發現以下內容。爲什麼?

打印X,ARGS,kwargs //錯誤

打印(X,ARGS,kwargs)//正確

非常感謝你。

import numpy as np 
from multiprocessing import Pool, TimeoutError 
import time 

def rand(): 
    return np.random.normal(0, 1, 1) 

class myClass: 
    def __init__(self, a = 6, b = 6.5): 
     self.a = a 
     self.b = b 
     self.pool = Pool(processes=4) 

    def calc(self, i, j): 
     print('entering calc') 
     return self.a**i + self.b**j 

    def compute(self, n): 
     result = [self.pool.apply_async(self.calc, (rand(), rand())) for k in range(n)] 
     return result 

A = myClass() 
r = A.compute(10) 

回答

0

的原因錯誤最有可能是因爲在Python的更高版本(即Python 3.x都有)打印報表需要括號