相关疑难解决方法(0)

多处理在交互模式下中断

我有以下代码

from multiprocessing import Process, Queue
from queue import Empty
from time import sleep

def f(q):
    n = 100000000
    while n != 100000000 // 2:
        n -= 1
    q.put("the awkening!")
    print("my work here is done")

def main():
    q = Queue()
    p = Process(target=f, args=(q,))
    p.start()
    while True:
        try:
            print(q.get(block=False))
            raise systemexit
        except Empty:
            print("i found nothing :(")
            sleep(2)
    p.join()
Run Code Online (Sandbox Code Playgroud)

如果我加

if __name__ == '__main__':
     main()
Run Code Online (Sandbox Code Playgroud)

到最后然后用python script_name.py它来运行它,一切正常.但是,如果我只是运行scirpt python -i script_name.py然后运行main()Python抱怨:

Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

python multiprocessing

11
推荐指数
1
解决办法
3804
查看次数

标签 统计

multiprocessing ×1

python ×1