尝试在VSCode中的VMware Workstation 15中的Linux VM中运行简单的测试脚本 . 该脚本只挂在工作池中,'results = p.map(f,chunk)' . 不确定我是否错过了让它在VM或Linux中运行的东西 . 在窗户上运行良好 .

import multiprocessing as mp
import os
import time

def f(x):
    print('Doing: ' + str(x) + ' with process id:'+ str(os.getpid()) + '\n')
    return(x*x)

def main():
    start_time = time.time()
    id_list = range(100)
    chunksize = 2

    lock = mp.Lock()
    p = mp.Pool(chunksize)

    for i in range(0, len(id_list), chunksize):
        print(i)
        if (i + chunksize) > len(id_list):
            chunk = id_list[i:]
        else:
            chunk = id_list[i : i + chunksize]

        results = p.map(f, chunk)

        for j in range(len(results)):
            lock.acquire()
            try:
                print('The results is: ' + str(results[j]) + '\n')
            finally:
                lock.release()

    p.close()

    end_time = time.time()
    print(end_time - start_time)

if __name__ == "__main__":
    print("Starting")
    main()
    print("Done")