我有一个函数 main(),它生成 4 个进程,并最终开始执行它们,但是一旦开始多次,它就会循环整个代码块。我想做什么我认为是显而易见的;打印“hello1”,执行进程(以及打印语句),然后打印“hello2”
我究竟做错了什么?如果这更容易,也将对使用 multiprocessing.Process() 的解决方案持开放态度,但我在那里也遇到了同样的问题。
def funcy(c):
print("Hi " + str(c))
for e in range(1000):
e = e
return c*2
print("hello1")
def main():
with concurrent.futures.ProcessPoolExecutor() as executor:
f = [1,2,3,4]
results = executor.map(funcy,f)
for result in results:
print(result)
if __name__ == '__main__':
main()
print("hello2")