【发布时间】:2012-11-30 17:02:19
【问题描述】:
序列解包是原子的吗?例如:
(a, b) = (c, d)
我的印象不是。
编辑:我的意思是多线程上下文中的原子性,即整个语句是否像以前的原子一样不可分割。
【问题讨论】:
-
我的印象是,您可能误解了软件开发中通常理解的原子性。您是在这里谈论线程安全,还是想知道
a = c是否会在b = d之前执行? -
@MartijnPieters - 如果 OP 想知道后者,OP 会很困惑为什么像
(a, b) = (b, a)这样的东西可以用来交换值。一定是线程安全的问题。 -
@TedHopp:这个问题太模糊了,不能这么称呼,根据我的经验,元组拆包本身会引起很多混乱。
-
“原子性”在计算机语言中的意思是“在一个不可分割的步骤中”。如果某些东西是原子的,这意味着操作不能被另一个线程中断。
标签: python variable-assignment atomic