Почему процесс чтения не запускается? - PullRequest
0 голосов
/ 17 мая 2018

Я учусь использовать Очередь для связи между двумя процессами.Ниже приведен фрагмент:

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()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...