2015/03/11 16:32

引用来自“god_share”的评论

看了你写的东西,整理的挺好,但是想问问你的理解。比如:1.修改某个数据的时候,多线程情况下,如果保证数据完整性,2.怎么来合理的使用synchronized,3.并发触及竞态条件,大多少数是先判断后更新问题。比如说订单号,最有代表行的就是库存。怎么合理的利用,来提高效率,概念性的东西,我也明白一些,就是到实地用的时候,不知道怎么用?请指点一下。
你好,个人觉得这些起始都是一些针对并发操作的一些策略,你可以自己使用synchronized关键字实现,并发锁工具如Lock,Atomic等也能保证线程安全,或者一些并发的数据结构如ConcurrentHashMap等,对于你说的库存变化的话,则是与事务相关,比如用户成功下单后才减掉库存,即下单+库存减小是原子的,至于多个用户对同一个商品下单减少库存时,这个update操作在数据库中应该就能保证记录的一致性,比如InnoDB的行锁,update一行时就对该行加上锁,就能防止库存不合理。 个人觉得在开发一般的业务时,可能涉及的并发会比较少,不是很显而易见,但很多并发问题都被封装在了你用的某些数据结构,或者API中,比如很多开源框架里就会有很多并发的处理,需要多去体会才能深刻理解,这个网站就是专门的并发相关的文章http://ifeve.com/
回复 @
{{emojiItem.symbol}}
返回顶部
顶部