如果这是重复的,我很抱歉。我确实搜索了一下,但也许我使用的措辞不是最好的(我对 Python 很陌生)......
无论如何,这就是问题所在。我正在编写与温度控制器交互的代码,我想用一个类来表示这个控制器,该类具有设置温度和读取温度的方法——如下所示:
class TempController:
def getTemp(self):
# some code ...
return temp
def setTemp(self, newtemp):
# some code ...
return newtemp
def execute(self, method, newtemp=None):
if method='set':
return setTemp(newtemp)
elif method='get':
return getTemp()
return None
现在,我将有两个对象同时调用这个对象的方法。确保如果一个已经execute
在执行,另一个必须等到第一个完成的最佳方法是什么?Python 是否已经确保了这一点?如果没有,我想到的最简单的可能性是像这样编辑它:
locked = False
def execute(self, method, newtemp=None):
while locked:
'wait'
ans = None
locked = True
if method='set':
ans = setTemp(newtemp)
elif method='get':
ans = getTemp()
locked=False
return None
while 循环中可能也应该有一个超时,但我稍后会担心。
谢谢!