现在我学习了simpy
python的库。你能解释一下为什么bitwise-or
在这个例子中使用。为什么我们不能使用简单的or
语句。
results = yield req | env.timeout(patience)
来自 SimPy 的核心事件类型文档
该类还实现了and () (&) 和or () (|)。如果您使用这些运算符之一连接两个事件,则会生成一个 Condition 事件,让您等待它们两者或其中之一。
这意味着req
和env.timeout(patience)
都是事件,我们将产生第一个发生的事件。IE
results = yield (req | env.timeout(patience))
要回答您最初的问题,您似乎可以改用它,or
但这可能不会使真正发生的事情更加清晰,并且如果假设它是常规的 old 则可能导致编辑错误or
。