如何确认正在使用多处理库?

How to confirm multiprocessing library is being used?

我正在尝试对以下代码使用多处理。该代码似乎 运行 比函数内的 for 循环快一点。

我如何确认我使用的是库而不是 for 循环?

from multiprocessing import Pool
from multiprocessing import cpu_count
import requests 
import pandas as pd

data= pd.read_csv('~/Downloads/50kNAE000.txt.1' ,sep="\t", header=None)
data = data[0].str.strip("0    ")

lst = []

def request(x):
    for i,v in x.items():
        print(i)
        file = requests.get(v)
        lst.append(file.text)
    #time.sleep(1)

if __name__ == "__main__":
    pool = Pool(cpu_count())
    results = pool.map(request(data))
    pool.close()  # 'TERM'
    pool.join()   # 'KILL'

多处理有开销。它必须通过进程间机制启动进程并传递函数数据。只是 运行 另一个进程中的单个函数与 运行 相同的函数通常总是会更慢。优点实际上是 并行性 在使开销最小化的函数中进行大量工作。

您可以调用 multiprocessing.current_process().name 查看进程名称更改。