我已将长时间运行的进程分成3个单独的类,以使某些内容具有可读性。所以我创建了第一个类的实例,它是一个Thread,然后在这个类中创建下一个类的实例。然后我调用这个类的方法,并在这个类中创建下一个类的实例。
所以它就是多米诺骨牌效应。
如果我使用这种方法,第二个和第三个对象是否会在与第一个对象相同的线程中运行(因为它是一个Thread对象?)。这对我来说很有意义,因为在Thread类中创建了第二个对象。
答案 0 :(得分:0)
运行此
import threading
import os
class A:
def run(self):
print ("class: %s Thread: %s" % (self.__class__, threading.current_thread().getName()))
b = B()
b.run()
class B:
def run(self):
print ("class: %s Thread: %s" % (self.__class__, threading.current_thread().getName()))
c= C()
c.run()
class C:
def run(self):
print ("class: %s Thread: %s" % (self.__class__, threading.current_thread().getName()))
def main():
print ("main function Thread: %s" % threading.current_thread().getName())
a = A()
a.run()
if __name__ == "__main__":
print ("entry point Thread: %s" % threading.current_thread().getName())
t=threading.Thread(target=main)
t.start()
打印
entry point Thread: MainThread
main function Thread: Thread-1
class: __main__.A Thread: Thread-1
class: __main__.B Thread: Thread-1
class: __main__.C Thread: Thread-1
所以,如果我理解你的逻辑是正确的,答案是是