У меня есть следующий код:
def formatGravities(gravities):
# create a list to keep all processes
processes = []
# create a list to keep connections
parent_connections = []
formatted_gravities = []
# create a process per instance
for gravity in gravities:
# create a pipe for communication
parent_conn, child_conn = Pipe()
parent_connections.append(parent_conn)
# create the process, pass arguments
process = Process(target=formatGravity,
args=(gravity, child_conn))
processes.append(process)
# start all processes
for process in processes:
process.start()
# make sure that all processes have finished
for process in processes:
process.join()
for parent_connection in parent_connections:
formatted_gravities.append(parent_connection.recv()[0])
return formatted_gravities
len(gravities)
по величине в миллионах. Я понимаю, что я не смогу открыть миллионы процессов одновременно, и, вероятно, поэтому я получаю ошибку, но как я могу изменить свой код, чтобы он ожидал появления процессов, если максимальное число процессов уже порожденный.
У меня есть требование, что я не могу использовать многопроцессорную обработку. Очередь или многопроцессорную обработку. Бассейн.