我有一个关于在 python 中同时访问 list 的问题。我有一个将数据添加到列表的扭曲类,以及一个每 4 秒调用一次的方法。这个方法它对列表的元素进行一些操作。我担心从 ossPeriodic 和从 dataReceived 访问同一个列表会产生一致性问题。这是代码:
ossStorage=[]
def ossPeriodic():
for i in ossStorage:
ossStorage.remove(i)
db.insertDataToDb(i)
reactor.callLater(4, ossPeriodic)
class OSS(Protocol):
def dataReceived(self, data):
account = pickle.loads(data)
ossStorage.append(account)
def main():
ossFactory = Factory()
ossFactory.protocol = OSS
reactor.listenTCP(50000, ossFactory)
reactor.callLater(4, ossPeriodic)
reactor.run()
我应该使用锁或类似的东西吗?谢谢!