我正在运行一个pythong程序,使用多处理模块来利用cpu上的多个内核。在
程序本身运行得很好,但是当它显示一种进度百分比时,一切都会一团糟。在
为了模拟发生在我身上的情况,我编写了一个小场景,在这个场景中,我使用了一些随机时间来尝试复制一些任务,这些任务可能会在原始程序中花费不同的时间。在
当您运行它时,您将看到百分比是如何混合的。在
有没有合适的方法来实现这一点?在
from multiprocessing import Pool, Manager
import random
import time
def PrintPercent(percent):
time.sleep(random.random())
print(' (%s %%) Ready' %(percent))
def HeavyProcess(cont):
total = 20
cont[0] = cont[0] + 1
percent = round((float(cont[0])/float(total))*100, 1)
PrintPercent(percent)
def Main():
cont = Manager().list(range(1))
cont[0] = 0
pool = Pool(processes=2)
for i in range(20):
pool.apply_async(HeavyProcess, [cont])
pool.close()
pool.join()
Main()
目前没有回答
相关问题 更多 >
编程相关推荐