python 线程安全的数据类型,python队列线程安全

  python 线程安全的数据类型,python队列线程安全

  1、可见性问题,CPU缓存引起的可见性问题,使线程一对共享变量A的操作无法立即被线程二看到,导致线程二获得旧值。

  2、原子问题。

  例如,自我. balance=self ._余额-提取_金额这个语句不是原子中央处理器执行命令。这个语句的执行有三个中央处理器命令。

  实例

  导入线程

  类别帐户:

  #定义构造函数

  def__init__(自身,账号,余额):

  :paramaccount_no:账户

  :参数平衡:余额

  self.account _no=帐户_否

  自我. balance=余额

  defdraw(self,draw_amount):

  :paramdraw_amount:需要取的钱

  :返回:

  如果自己. _ balancedraw _ amount

  print(threading.current_thread().getName()从 self.account_no 取钱成功,账户取出金额是: 字符串(

  draw_amount) n

  自我. balance=self ._余额-提取_金额

  打印(账户余额是,自我.平衡)

  else:

  print(threading.current_thread().getName()从 self.account_no 取钱失败n )

  #两个线程并发取钱

  account=Account(账户一,2000)

  穿线. Thread(target=account.draw,name=线程一,args=(800,).开始()

  穿线. Thread(target=account.draw,name=线程二,args=(800,).开始()

  穿线. Thread(target=account.draw,name=线程三,args=(800,).开始()以上就是大蟒线程安全的两种情况,希望对大家有所帮助。更多计算机编程语言学习指路:python基础教程

  本文教程操作环境:windows7系统、Python 3.9.1、戴尔自交第三代电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: