我的扭曲应用程序收到大量数据包并使用多个线程来处理数据包。我在不同的线程中处理数据包,以便反应器循环可以自由地接收数据包。但是,由于GIL,实际上只有1个线程在执行。结果,运行reactor循环的线程落后并丢失数据包。
而不是我想要使用多个进程的线程。有人可以指导我如何使用扭曲的多个进程吗?
答案 0 :(得分:3)
使用twisted.internet.reactor.
spawnProcess
或Ampoule
开始您的子流程。然后,您可以按照接收网络数据包的方式从这些进程接收标准输出。
答案 1 :(得分:1)
您可以使用透视代理“twisted.spread.pb”在多个扭曲过程之间交换日期,甚至可以执行远程调用。