eclipse上的python多处理

eclipse上的python多处理,python,eclipse,synchronization,pydev,multiprocess,Python,Eclipse,Synchronization,Pydev,Multiprocess,我使用pydev在eclipse上编写python代码。 代码如下: from multiprocessing import Process, Queue import time g_workercount = 1 def calc_step(): print('calc_step started') q = Queue() p_worker = [] for i in range(0, g_workercount): ww = Process

我使用pydev在eclipse上编写python代码。 代码如下:

from multiprocessing import Process, Queue
import time
g_workercount = 1

def calc_step():
    print('calc_step started')
    q = Queue()
    p_worker = []

    for i in range(0, g_workercount):
        ww = Process(target=worker_calc_step, args=(q,i,))
        ww.start()
        p_worker.append(ww)        

    for ww in p_worker:
        ww.join()

    print('calc_step ended')



def worker_calc_step(q, n):
    print('worker_calc_step started')    

    print('worker_calc_step ended')



if __name__ == '__main__':        
    calc_step()

    print('finished')
这是一个非常简单的代码,我希望输出是:

calc_step started
worker_calc_step started
worker_calc_step ended
calc_step ended
finished
可以在控制台上执行, 但是在eclipse上运行是不正常的,比如:

calc_step started
calc_step ended
finished
我猜在启动辅助进程之前,主进程将完成。 因此,我在主进程函数中添加了睡眠代码,但在eclipse中也是如此

你知道这件事吗? 对我来说,用python和eclipse编写多进程代码有点困难


谢谢。

我不确定那里可能出了什么问题。。。我在Python2和Python3中的Eclipse/PyDev内外进行了尝试,得到了与预期输出相同的结果

有助于诊断问题的一些问题:

你正在使用哪个操作系统? Python版本是什么? 您是否尝试过在调试器下运行它以查看它可能失败的地方? 您是否尝试过打印到文件而不是标准输出?也许它正在启动进程,但它没有正确地打印到标准输出?
Thx,我使用windows10,python3.6.3。这样做并没有失败消息,但有时在调试时它会按预期工作,而且我还没有尝试打印到文件中。我试试看。谢谢