【发布时间】:2020-04-08 04:02:57
【问题描述】:
我正在处理创建多个进程以并行运行代码以加快进程的任务。 下面是我的代码。
def update_value(value):
print('module name:\n', __name__)
print('parent process:\n', os.getppid())
print('process id:\n', os.getpid())
value_read = server_connect_read(channel, value)
if value_read.server_connect() is False:
return False
print("updating values")
update = server_read.update_value(old_values.xlsx)
if value_read.server_disconnet() is False:
return False
Pool(3, initializer=print('starting', current_process().name )).map(update_value, (ValueList,))
在上面的代码中,ValuList 是包含需要更新的值的 excel 文件。现在,当我运行上面的代码时,我得到下面的输出。
module name:
__main__
parent process:
8048 <-----
process id:
15068 <-----
module name:
__main__
parent process:
8048 <-----
process id:
15068 <----
在这个过程中,首先代码会从本地文件读取值,建立连接,从服务器读取值,更新到本地文件。
以上代码运行,我可以看到正在创建进程。但所有进程父 ID 和进程 ID 保持不变。 据我了解,每个进程都有自己的进程ID。
我需要帮助来确定代码中是否有任何错误。
【问题讨论】:
标签: multiprocessing python-3.6 python-multiprocessing