我为我的应用程序创建了一个简单的插件系统,现在,我想在一个新线程中运行每个插件。
这是我的代码的一部分:
def newThread(self, f, args=()):
t = threading.Thread(target=f, args=args)
t.deamon = True
t.start()
return t
print "s"
for mod in imported_modules:
if 'init' in vars(mod):
newThread(mod.init, None)
print 1
我的插件之一是正在侦听套接字的 TCP 服务器。如果我在主线程中运行它,应用程序不会加载其他插件并等待服务器停止!
上面的代码也没有在我的插件上运行 init 函数。
现在的问题是:
如何在新线程中调用外部函数?
提前致谢!