dwangc 2021-07-09 10:02 采纳率: 0%
浏览 18

并发编程实战第4章答疑

阅读并发编程实战这本书,第4章,实在是不明白这句话描述的是啥?
状态是无效的,就要进行封装,否则外部代码就会使对象无效?
无效的状态转移,原子操作?
我的知识还不够连接起来。

img

  • 写回答

1条回答 默认 最新

  • renminzdb 2021-07-09 10:25
    关注

    很容易理解哈,就比如一些都喜欢举得例子,银行转账。 转账从业务状态,实际上就是转账前--转账后剩余两种状态。但是程序状态,可能就分 A转账前,A扣去款,B加上款,转账结束。其中如果没有进行原子操作,那么中间的状态 就属于无效状态。你转钱,不能自己的钱扣了,对方账户还没有收到钱。或者你钱没扣,对方无缘无故多了一笔转账也是不合适的。所以解决这样的,就必须A扣款 更 B进款 要不都执行成功,要不都不执行。这就是原子操作。对于数据库的操作,要通过事务来控制。所以事务也有个特性就是原子性。不知这么说明白否?

    评论

报告相同问题?

问题事件

  • 创建了问题 7月9日

悬赏问题

  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败