1,代码实例
import time
from multiprocessing import Process,Queue
class A(Process):
def __init__(self, a, q):
Process.__init__(self)
self.a = a
self.q = q
def run(self):
while True:
self.a[0] += 1
self.q.put(self.a)
print("A_process -- after -- a:", self.a)
time.sleep(.5)
class B(Process):
def __init__(self, b, q):
Process.__init__(self)
self.b = b
self.q = q
def run(self):
while True:
if self.q.empty():
print("empty")
else:
vl = self.q.get()
print("B_process -- after -- b:", vl)
time.sleep(.1)
if __name__ == "__main__":
num = [10]
q = Queue()
print("main_process -- before -- num:", num)
test_A = A(num, q)
test_B = B(num, q)
test_A.start()
test_B.start()
2,运行结果
main_process -- before -- num: [10]
A_process -- after -- a: [11]
empty
B_process -- after -- b: [11]
empty
empty
empty
A_process -- after -- a: [12]
B_process -- after -- b: [12]
empty
empty
empty
empty
A_process -- after -- a: [13]
B_process -- after -- b: [13]
empty
empty
empty
empty
A_process -- after -- a: [14]
B_process -- after -- b: [14]