我如何命名multiprocessing.pool中的进程?
如果我创建一个包含4个worker的池并将它们设置为执行一些任务(使用pool.apply_async(..)
),那么我可以使用multiprocessing.current_process().name
从内部访问每个进程的multiprocessing.current_process().name
,但是如何设置来自父进程的名称(这主要是用于日志记录)?
Process.name
只是一个setter,你可以自由分配给它。
池接受一个initializer
参数。 这可以是任何可调用的,并且在每个子进程启动时它将被调用一次。 你可以将它指向一个函数,该函数将该进程的name
属性设置为任何你想要的。