如何在扭曲的缓冲数据上运行多个线程?

如何在扭曲的缓冲数据上运行多个线程?

问题描述:

Image of an abstract model如何在扭曲的缓冲数据上运行多个线程?

我已经使用python-socketIO实现了这个模型,但是我无法在扭曲中做类似的事情。我有一个数据源,我用8192字节的块读取这个数据。这是二进制数据,因此需要在将它发送给客户端之前进行处理。但是我无法停止输入数据进行处理。在python-socketIO中,我用这个函数来处理这个数据作为后台任务,而我继续获取更多的数据。任何想法如何使用python的扭曲库来做类似的事情。

“背景任务”我想你是指一个线程。您可以使用Twisted使用线程。涉及最少概念的最多方法是deferToThread

from twisted.internet.protocol import Protocol 
from twisted.internet.threads import deferToThread 

class YourProtocol(Protocol): 
    def dataReceived(self, data): 
     d = deferToThread(your_process_data, data) 
     d.addCallback(your_result_handler) 
     d.addErrback(your_error_handler)