python - 如何重复调用一个函数?

标签 python multithreading multiprocessing python-multiprocessing python-multithreading

通过模块multiproproccessing.dummy , 我要执行函数getData() 10次​​。但是,print函数只调用一次。

from multiprocessing.dummy import Pool as ThreadPool

print("Begin")

import itertools
import urllib.request
import time

def getData():
        print("Do something...")

t0 = time.time()
with ThreadPool(10) as pool:
    results = pool.map_async(getData(), iterable=(x for x in range(10)))
    
t1 = time.time()
totalTime = t1-t0
print ("Total Cyclic time: ", totalTime)   

最佳答案

您调用getData()在将其传递给 map_async 之前,它传递它的结果,而不是传递函数本身。
更改getData()getData你应该没事。

    results = pool.map_async(getData, ...)

关于python - 如何重复调用一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64895778/

相关文章:

python - 如何遍历我的目录以附加具有 NaN 值的文件?

python - 在 PyQt5 中的 MySQL 表上执行 QSqlQuery 时出现问题

python - 如何使用 python flask socket.io 和线程从 redis 异步获取实时数据?

linux - execv() 和 fork() 的时间浪费

python - 基于其他列的 Pandas 数据透视表总和(好像有两个索引)

python - 如何获取两个列表中整数和运算的所有组合?

java - Thread.sleep(long mills) 也延迟了以前的方法

java - 与 sql 数据库对话的多线程应用程序的最佳实践

c++ - 是否有以下C++阻塞条件变量

python - 强制使用多核