我有一个现有程序,它有自己的主循环,并根据接收到的输入进行计算 - 简单起见,假设是来自用户的输入。现在我想远程执行这些计算,而不是本地执行,并决定使用Twisted实现RPC。
理想情况下,我只想更改其中一个函数,比如doComputation()
,以调用Twisted执行RPC,获取结果并返回。程序的其余部分应该保持不变。但是,我该如何实现呢?当我调用reactor.run()
时,Twisted会劫持主循环。我还读到,在Twisted中没有真正的线程,所有任务都按顺序运行,因此似乎无法只创建LoopingCall并以这种方式运行我的主循环。
reactor.callInThread()
调用我的主循环相比,有什么好处吗? - Claudiu