python中的多处理不会停止运行
我在他们的网站上尝试了一个简单的python多处理示例,但它没有提供任何输入。它显示为自己在运行,我无法在jupyter笔记本中阻止它python中的多处理不会停止运行,python,process,parallel-processing,multiprocessing,pool,Python,Process,Parallel Processing,Multiprocessing,Pool,我在他们的网站上尝试了一个简单的python多处理示例,但它没有提供任何输入。它显示为自己在运行,我无法在jupyter笔记本中阻止它 from multiprocessing import Pool def f(x): return x*x if __name__ == '__main__': p = Pool(5) print(p.map(f, [1, 2, 3])) 其他多处理示例也是如此。它不会给出任何错误、超时或任何东西。这就像是在一个无限循环或死锁中 我
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
p = Pool(5)
print(p.map(f, [1, 2, 3]))
其他多处理示例也是如此。它不会给出任何错误、超时或任何东西。这就像是在一个无限循环或死锁中 我不知道它是如何工作的,但当我像下面给出的那样导入时
from multiprocessing.pool import ThreadPool as Pool
问题在于导入多处理时的池。我不知道如何导入,但它在导入时工作,如下所示
from multiprocessing.pool import ThreadPool as Pool
导入多处理时出现池问题。我也在Windows上
from multiprocessing.pool import ThreadPool as Pool
from os import getpid
import time
import pandas as pd
pyfiles = [10,2,3,5]
def scraper(x):
results_df = pd.DataFrame({})
print('Program started:',x,"I'm process", getpid())
time.sleep(x)
print('Program completed:',x)
results_df.to_csv('multi{}.csv'.format(x))
if __name__ == '__main__':
with Pool(4) as pool:
start=time.time()
result = pool.map(scraper, pyfiles)
pool.terminate()
pool.join()
print("Time Taken: ",str(time.time()-start))
我也在Windows上
from multiprocessing.pool import ThreadPool as Pool
from os import getpid
import time
import pandas as pd
pyfiles = [10,2,3,5]
def scraper(x):
results_df = pd.DataFrame({})
print('Program started:',x,"I'm process", getpid())
time.sleep(x)
print('Program completed:',x)
results_df.to_csv('multi{}.csv'.format(x))
if __name__ == '__main__':
with Pool(4) as pool:
start=time.time()
result = pool.map(scraper, pyfiles)
pool.terminate()
pool.join()
print("Time Taken: ",str(time.time()-start))
我可以在终端和笔记本电脑中运行这个示例,它工作得很好:我不知道,像这样导入时出现了一些问题。但是,当我在回答中使用as时,它起了作用。我在linux中尝试了这一点,它起了作用。但我在windows中运行这个。我可以在终端和笔记本电脑中运行这个示例,它工作正常:我不知道,像这样导入时出现了一些问题。但是,当我在回答中使用as时,它起了作用。我在linux中尝试了这一点,它起了作用。但是我在windows中运行这个。