python的多进程

发布于 2022-09-07 23:33:23 字数 930 浏览 15 评论 0

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.')

clipboard.png

这是一个跟简单的python进程相关的代码。
我的问题很简单,为什么我在第一句导入Process的时候,pycharm提示爆红了?虽然这段代码运行起来并没有报错
还有一个问题,我找到multiprocessing所在的包,包的目录结构如下:

clipboard.png
也并没有Process.py文件啊,那python是怎么执行代码而不报错呢?

觉得python好难啊,我之前是Java,Java只要导入包的路径就可以直接使用了,如果eclipse报红的话,那运行起来也肯定会报错,但是面对python,编辑器已经爆红了,但是运行起来却没问题,我好懵啊。
我在网上找的所有关于python的多进程,第一句都是from multiprocessing import Process,难道就没人遇到Process爆红的问题吗?还是用了比pycharm这种IDE更智能的python编辑器?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

合久必婚 2022-09-14 23:33:23

因为multiprocessing包的__init__.py文件中有这么一句:
from . import context

错爱 2022-09-14 23:33:23

IDE 报错但运行不报错很可能是因为 IDE 里配置的解析器版本与运行环境不一致, 请检查 Default Settings -> Project Interpreter 的设置

图片描述
图片描述

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文