from multiprocessing import Process
import os
# 子进程要执行的代码
def run_proc(name):
print("这是一个进程任务")
if __name__=='__main__':
print('Parent process %s.' % os.getpid())
p = Process(target=run_proc, args=('test',))
print('Child process will start.')
p.start()
p.join()
print('Child process end.')
这是一个跟简单的python进程相关的代码。
我的问题很简单,为什么我在第一句导入Process的时候,pycharm提示爆红了?虽然这段代码运行起来并没有报错
还有一个问题,我找到multiprocessing所在的包,包的目录结构如下:
也并没有Process.py文件啊,那python是怎么执行代码而不报错呢?
觉得python好难啊,我之前是Java,Java只要导入包的路径就可以直接使用了,如果eclipse报红的话,那运行起来也肯定会报错,但是面对python,编辑器已经爆红了,但是运行起来却没问题,我好懵啊。
我在网上找的所有关于python的多进程,第一句都是from multiprocessing import Process,难道就没人遇到Process爆红的问题吗?还是用了比pycharm这种IDE更智能的python编辑器?
因为multiprocessing包的__init__.py文件中有这么一句:
from . import context