找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1764|回复: 1

[求助] 求大佬解答Python中的互斥锁问题

0

主题

0

帖子

0

积分

贫民

积分
0
a836669648 发表于 2019-5-24 12:44:00 | 显示全部楼层 |阅读模式
当我把print缩进的时候,会发现结果是正常2000000。但是print未缩进的时候,就会出现未知结果。
想求助下大佬为什么print缩进后出现正常结果呢?
  1. import threading

  2. num = 0


  3. def demo1(nums):
  4.     global num
  5.     for i in range(nums):
  6.         num = num + 1
  7.         print(num)


  8. def demo2(nums):
  9.     global num
  10.     for i in range(nums):
  11.         num = num + 1
  12.     print(num)


  13. def main():
  14.     t1 = threading.Thread(target=demo1, args=(1000000,))
  15.     t2 = threading.Thread(target=demo2, args=(1000000,))
  16.     t1.start()
  17.     t2.start()


  18. if __name__ == "__main__":
  19.     main()
复制代码
回复

使用道具 举报

1

主题

10

帖子

10

积分

贫民

积分
10
qingchunshengge 发表于 2019-5-27 12:48:57 来自手机 | 显示全部楼层
子线程print未缩进,每个子线程只打印一次,最终结果也是2000000。一个子线程缩进,另外一个不缩进,则2000000这个数字就可能淹没在数字洪流中找不到了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表