gpt4 book ai didi

python - 为什么我的代码的结果出乎意料?

转载 作者:IT王子 更新时间:2023-10-29 06:07:51 24 4
gpt4 key购买 nike

我正在阅读一本关于 Redis 的书(Redis in action),第 59-60 页。有一个交易使用示例如下:


def trans(conn):
pipeline = conn.pipeline()
pipeline.incr('trans:')
time.sleep(.1)
pipeline.incr('trans:',-1)
print pipeline.execute()[0]

def run_transaction(conn):
if 1:
for i in xrange(3):
threading.Thread(target=trans, args =(conn,)).start()
time.sleep(.5)

我期望这会产生:

0

0

0

但是输出是:

1

1

1

有人可以解释原因吗(“trans: 从未在其他任何地方使用过”)?谢谢

最佳答案

“pipeline.execute()”的结果是一个包含 2 个元素的数组。第一个是'pipeline.incr('trans:')'的结果,第二个是'pipeline.incr('trans:',-1)'的结果。在您的情况下,输出是正确的。

关于python - 为什么我的代码的结果出乎意料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22114437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com