2

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

谢谢!

4

0 回答 0