一、进程管理
在 Python 中可以通过进程 Process
模块来管理进程资源,实现进程的创建、启动、运行、终止等操作。进程的创建可以通过继承 Process
类并实现 run()
方法来完成,下面是一个简单的例子:
from multiprocessing import Process
class MyProcess(Process):
def __init__(self, name):
super(MyProcess, self).__init__()
self.name = name
def run(self):
print(f'Hello, {self.name}!')
if __name__ == '__main__':
p = MyProcess('World')
p.start()
p.join()
其中的 Process.start()
方法用于启动进程,而 Process.join()
方法则用于等待进程结束。
二、进程通信
进程间的通信可以通过共享内存、消息队列、管道等方式实现。下面是一个通过管道进行进程间通信的例子:
from multiprocessing import Process, Pipe
def sender(conn):
conn.send('Hello, world!')
conn.close()
def receiver(conn):
msg = conn.recv()
print(msg)
conn.close()
if __name__ == '__main__':
p1, p2 = Pipe()
send_proc = Process(target=sender, args=(p1,))
recv_proc = Process(target=receiver, args=(p2,))
send_proc.start()
recv_proc.start()
send_proc.join()
recv_proc.join()
上面的例子中,通过 Pipe()
方法创建了一个管道,然后分别传给了两个进程。其中一个进程通过管道发送数据,另一个进程则通过管道接收数据。通信完毕后,需要分别对两个进程调用 Process.join()
方法,等待它们结束。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用进程Process模块管理资源 - Python技术站