【发布时间】:2012-02-27 16:46:18
【问题描述】:
我目前正在开发一个扭曲的项目,它为连接到服务器的每个客户端建立到另一个源 (basic.lineReceiver) 的连接。
响应链应如下所示:
客户端连接 -> 客户端消息 id 到服务器 -> 服务器建立自定义源连接 -> 服务器不断产生来自源的传入消息的数据 -> 服务器不断向各自的客户端广播数据
来源:客户 - 1:1 关系
我的猜测是将每个源连接分派到一个新线程并监听传入的消息。非常喜欢:
Producing content indefinitely in a separate thread for all connections?
但是在启动后,我将如何在新线程中以扭曲的方式调度与反应器的每个新连接?
【问题讨论】:
-
在“每个连接一个线程”服务器中,即使是中等数量的同时连接(例如 30 个),性能也会降低。反应器模式是解决这个问题的方法之一,所以我怀疑扭曲是否允许你这样做。
-
一次不会超过 10 个同时连接。
-
我可以切换到 1:all 关系并自己进行过滤。但问题仍然是:如何在带有反应器的线程中调度新连接(basic.lineReceiver)。
标签: python multithreading thread-safety twisted