首页 > 解决方案 > python类中的“run()”到底是什么

问题描述

示例中的 python 类通常具有“run()”函数。这对我来说开始表现得很奇怪。

示例 - 以下代码创建一个类作为新进程

import multiprocessing

class myClass(multiprocessing.Process):
    def __init__(self):
        multiprocessing.Process.__init__(self)

    def run(self):
        print("who invoked me!?")

if __name__ == '__main__':
    p = myClass()                       
    p.start()            

所以我们调用start()(not run()) 并且输出将是

“谁召唤了我!?”

这就提出了第一个问题——它为什么有效?

如果这是地狱,那到底是什么鬼,但是,现在发生了以下行为:

从 CMD 运行,python 代码打印一切正常。

通过另一个进程运行python(通过nodejs中的python-shell),该run()方法永远不会执行并保持挂起。

为什么?如何?谢谢。

标签: pythonpython-3.xwindows

解决方案


推荐阅读