如果这是重复,我很抱歉。我做了一些搜索,但也许我使用的措辞不是最好的(我对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循环中可能还应该有一个超时,但我可以稍后再担心。
谢谢!