The Stars ...My Destination

adamxx

天下事,法无定法,然后知非法法之
世间人,尤了未了,何妨以不了了之

导航

2007年3月31日

摘要: 就想你看到的那样,出现了错误.金额总量发生了细微的变化. 这个问题是在多个线程试图同时更新账户时出现的.假设两个线程同时执行这条指令: accounts[to] += amount; 问题在于他不是原子操作.指令可能会以下面这种方式执行: 1)将account[to]载入寄存器. 2)增加amount. 3)将结果写回accounts[to]. 阅读全文

posted @ 2007-03-31 20:38 adamxx 阅读(998) 评论(0) 推荐(0) 编辑