封装进程对象 第160课
myProcess.py
from multiprocessing import Process
import os, time
class myProcess(Process):
def __init__(self, name):
Process.__init__(self)
self.name = name
def run(self):
print("start %s" % os.getpid())
time.sleep(3)
print("end %s" % os.getpid())
test.py
from myProcess import myProcess
if __name__=="__main__":
p = myProcess("hello")
#start会调用run,名字必须是run
p.start()
进程通信 第161课
from multiprocessing import Process,Queue
from time import sleep
def write(q):
for i in range(5):
s = chr(ord('a')+i)
q.put(s)
sleep(1)
def read(q):
while True:
s = q.get()
print(s)
if __name__=='__main__':
q = Queue()
w = Process(target=write, args=(q, ))
r = Process(target=read, args=(q,))
w.start()
r.start()
w.join()
r.terminate()