Я учусь использовать Очередь для связи между двумя процессами.Ниже приведен фрагмент:
import os
import time
import random
from multiprocessing import Process,Queue
def write(q):
print("Begin to write data into queue in process:",os.getpid())
for char in ['A','B','C']:
print("Put %s to queue" %char)
q.put(char)
time.sleep(random.random())
def read(q):
print("Begin to read data into queue in process: {}".format(os.getpid()))
while True:
value = q.get(True)
print("Get {0} from queue".format(value))
if __name__ == '__main__':
q=Queue()
#写队列进程
process_writer=Process(target=write,args=(q,))
#读队列进程
process_reader=Process(target=read,args=(q,))
process_writer.start()
process_reader.start()
#process_writer.join()
process_reader.terminate()
Привет, почему process_reader
не запускается, когда я комментирую строку process_writer.join()
?