转账死锁问题

问题:

场景:A给B转账50,B给A转账100,如果这两个操作并发同时进行,我们可以根据hashCode来确定加锁顺序,

比如hash(A) < hash(B),则先lock A,然后lock B。在并发情况下也不会像传统处理那样互相持有对方所需的锁而导致死锁问题产生;

此处的加锁可以是单机下的Synchronized 或者 Lock,或是数据库锁,甚或分布式锁等。具体根据业务,技术场景而定。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 3,757评论 0 11
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,394评论 11 349
  • 九种基本类型及封装类 switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型...
    zhazhaxin阅读 3,721评论 14 85
  • 1.解决信号量丢失和假唤醒 public class MyWaitNotify3{ MonitorObject m...
    Q罗阅读 924评论 0 1
  • 像是故意要和读这本书呼应似的,我这两天的行为几乎处处打脸。 很是奇怪。论忙碌程度,本周应该远不及前两周,可偏偏就是...
    史妍阅读 222评论 0 0