如果这段时间过去了,队列中没有显示任何内容,则应该将超时的一些指示传递给调用者,否则应该返回显示的内容。现在,您可以编写如下内容:{}class Queue int GetThing(Thing& t);并返回成功和超时的错误代码。然而,解决方案1的缺点是,不太忙的队列超时不是一个例外情况,而是很常见的情况。解决方案2对错误和丑陋的语法使用返回值,因为
我使用的是提到的代码解决方案。我刚接触装饰器,不明白为什么这个解决方案不能工作,如果我想要写下面这样的代码:def main_func(): while True:def nested_func():这样做的=>结果将根本不会超时。但是,如果我从nested_func中删除@timeout注释,我会得到一个