gpt4 book ai didi

python - 扭曲-工厂对象线程安全吗?

转载 作者:行者123 更新时间:2023-12-03 13:12:22 27 4
gpt4 key购买 nike

以下代码在2端口上监听,当有消息时修改全局dict对象。并且有一个计时器也会修改字典。

d = {}
class x(Protocol):
def dataReceived(self, data):
# according to data call x's function
self.f()
def f(self):
global d
d['x'] = 'x'
class y(Protocol):
def dataReceived(self, data):
# according to data call y's function
self.f()
def f(self):
global d
d['y'] = 'y'
def modify_d():
global d
for k in d.keys():
if d[k] == 'whatever':
del d[k]
reactor.listenTCP(8880, x())
reactor.listenTCP(8881, y())
lc = task.LoopingCall(modify_d)
lc.start(300)
reactor.run()

访问时是否需要在d周围添加锁?

最佳答案

它不是线程安全的,但这没关系。您不需要锁。 Twisted在同一个主I/O线程中运行所有回调(涉及到专门提及线程的API的那些回调除外),因此您不必担心同时运行多个事情。

关于python - 扭曲-工厂对象线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28163014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com