【发布时间】:2015-06-16 16:10:55
【问题描述】:
首先,我应该说这可能更像是一个设计问题,而不是代码本身。
我有一个包含一个服务器和多个客户端的网络(用 Twisted 编写,因为我需要这些异步非阻塞功能),这样的服务器-客户端耦合它只是接收-发送消息。
但是,在某些时候,我希望一个客户端在收到特定消息时运行 python 文件。该客户端应该继续监听和与服务器对话,而且,如果需要,我应该能够停止该文件,所以我的第一个想法是为该 python 文件启动一个线程并忘记它。
最后它应该是这样的:服务器向 ClientA 发送消息,ClientA 及其 dataReceived 函数解释消息并决定运行该 python 文件(我不知道需要多长时间,并且可能包含阻塞调用) ,当该 python 文件完成运行时,应将结果发送给 ClientB。
所以,问题是:
- 为 ClientA 中的那个 python 文件启动一个线程是个好主意吗?
- 由于我想将该 python 文件的结果发送到 ClientB,我可以在该 python 文件中再添加一个反应器循环吗?
无论如何,我都非常感谢任何建议,因为 python 和 twisted 都不是我的专长,所有这些想法可能都不是最好的。
谢谢!
【问题讨论】:
标签: python multithreading twisted