Discuss / Python / 问题请教下

问题请教下

Topic source

黑岩74032

#1 Created at ... [Delete] [Delete and Lock User]

Queue 读写那个例子,如果我用fork(),

q = Queue()
pid = os.fork()
    if pid == 0:
        read(q)
    else:
        write(q)

结果好像是正常的,但是这样是如果控制进程是否结束的呢,而且read()按理还是个死循环,但执行中并没有

在父进程停止的时候,子进程强行被中止。

牙神牙拔

#3 Created at ... [Delete] [Delete and Lock User]

因为题目是创建两个子进程,一个用于读,一个用于写,你的代码好像是子进程用于读,父进程用于写,我改了下创建两个子进程,这样就会出现死循环了,但是我不知道怎么强制退出。。

q=Queue()
a=os.fork()
if a==0:
    write(q)
    os._exit(0)
b=os.fork()
if b==0:
    read(q)

  • 1

Reply