Python 使用多处理和处理输入

Python 使用多处理和处理输入,python,multiprocessing,Python,Multiprocessing,我想制作一个并发运行的多处理程序 所以我希望我的进程保持每5秒计数一次,而另一个进程则要求输入并打印它 请求两个输入的进程应该在一个无限循环中运行,因为稍后我想更改它,使每个输入在第一个进程中都是一个数值变量。 (如果你也有任何想法来帮助我,请让我知道!我真的很感激) 这是我的代码,它给了我 EOF:读取一行时的EOF import os import time from multiprocessing import Process def doubler(): number =0

我想制作一个并发运行的多处理程序

所以我希望我的进程保持每5秒计数一次,而另一个进程则要求输入并打印它

请求两个输入的进程应该在一个无限循环中运行,因为稍后我想更改它,使每个输入在第一个进程中都是一个数值变量。 (如果你也有任何想法来帮助我,请让我知道!我真的很感激)

这是我的代码,它给了我 EOF:读取一行时的EOF

import os
import time

from multiprocessing import Process

def doubler():
    number =0
    while True:
        proc = os.getpid()
        print('num : {0} by procss id : {1}'.format(number,proc))
        time.sleep(5)

def test():

    while True:
        x = raw_input("input x : ")
        y = raw_input("input y : ")
        print('x = {0}, y = {1}'.format(x,y))


if __name__ == '__main__':
    proc1 = Process(target=doubler)
    proc2 = Process(target=test)
    procs = []
    procs.append(proc1)
    procs.append(proc2)
    proc1.start()
    proc2.start()

    for proc in procs:
        proc.join()

结果--->EOFError:EOF当我读一行时,我很抱歉成为一个手指王子,但我在stackoverflow中发现了这一点:
import os
import time

from multiprocessing import Process

def doubler():
    number =0
    while True:
        proc = os.getpid()
        print('num : {0} by procss id : {1}'.format(number,proc))
        time.sleep(5)

def test():

    while True:
        x = raw_input("input x : ")
        y = raw_input("input y : ")
        print('x = {0}, y = {1}'.format(x,y))


if __name__ == '__main__':
    proc1 = Process(target=doubler)
    proc2 = Process(target=test)
    procs = []
    procs.append(proc1)
    procs.append(proc2)
    proc1.start()
    proc2.start()

    for proc in procs:
        proc.join()
" 在Python中生成线程时,它会关闭stdin。不能使用子进程收集标准输入。请改用主线程收集输入,并将其从主线程发布到队列中。可以将stdin传递给另一个线程,但可能需要在主线程中关闭它。 "

这不是我写的,而是卡尔的回答。F
我很抱歉成为手指王子,但我在stackoverflow中发现了这一点: " 在Python中生成线程时,它会关闭stdin。不能使用子进程收集标准输入。请改用主线程收集输入,并将其从主线程发布到队列中。可以将stdin传递给另一个线程,但可能需要在主线程中关闭它。 "

这不是我写的,而是卡尔的回答。F