Threadsafe方式复制清除数组

时间:2016-10-15 15:48:15

标签: python python-3.x asynchronous thread-safety python-multithreading

一个数组累积数据报。在间隔或一定长度上,它会刷新到数据库。

它在datagram_received网络事件异步上累积。

class Protocol:
    flows = []
    def datagram_received(self, data, addr):
    ...
            self.flows.append(flow)

用这种方法冲了过来:

def store(self):
    flows = []
    while len(self.flows):
        flows.append(self.flows.pop(0))
    self.db.insert(flows)
    sleep(10)
    self.store()

如何在一次线程安全操作的情况下优化它以进行替换?

这个模块运行一个类的实例,但是在两个线程中。

0 个答案:

没有答案