python简单的子进程Process

遇到问题

在spyder中我想执行子进程是发现开启不了,子进程,最后不得已在cmd下执行程序了。
关于多进程是个好东西啊,在多核处理器中,应用多核对超大文件进行分块处理,速度是极快的,deeplearning中多进程进行training也是可以加快速度的,多进程的爬虫也是非常快的。

def wroker(name):
    print('在这里写下你需要做的事情')
    print('子进程',name,os.getpid())
if __name__ == '__main__':
    print('父进程',os.getpid())
    p = Process(target=wroker,args=('test',))
    print('子进程要执行')
    p.start()
    p.join()
    print('子进程结束')
    print('父进程结束')

在unix系统中可是使用os.fork()得到进程。
fork 函数所谓的调用一次返回两次就是,在os.fork()调用,之后会把后面的程序执行两次

import os

print('Process (%s) start...' % os.getpid())
# Only works on Unix/Linux/Mac:
pid = os.fork()
print(2)
if pid == 0:
    print('I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()))
else:
    print('I (%s) just created a child process (%s).' % (os.getpid(), pid))

结果:

Process (16873) start...
2
I (16873) just created a child process (16885).
2
I am child process (16885) and my parent is 16873.

Process finished with exit code 0

Python 3 并发编程多进程之进程同步

你可能感兴趣的:(python简单的子进程Process)