Попытка запустить простой тестовый скрипт на виртуальной машине Linux в VMware Workstation 15 в VSCode.Скрипт просто висит в рабочем пуле 'results = p.map (f, chunk)'.Не уверен, что я что-то пропустил, чтобы он работал на ВМ или Linux.Отлично работает в windows.
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")