![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
锁
装满哈希的Map
从事过金融行业、保险行业、实时调度引擎。
发表过数十篇国家级软件发明专利,写过每天可以处理亿级流量服务中间件,开发过可以处理百万QPS并发的系统,目前复负责全世界最大的即时配送异构计算的调度引擎架构开发。
曾与NVIDIA、Intel技术专家深入交流。
喜欢摄影、喜欢做菜、喜欢吃肉、喜欢数码产品、喜欢音乐、喜欢电影。
展开
-
解决多线程安全问题-无非两个方法synchronized和lock 具体原理以及如何 获取锁AQS算法
一定要看后面的文章,先说结论: 非公平锁tryAcquire的流程是:检查state字段,若为0,表示锁未被占用,那么尝试占用,若不为0,检查当前锁是否被自己占用,若被自己占用,则更新state字段,表示重入锁的次数。如果以上两点都没有成功,则获取锁失败,返回false。 还有其他的锁,如果想要了解,参考:JAVA锁机制-可重入锁,可中断锁,公平锁,读写锁,自旋锁, 用synchronized实现ReentrantLock 美团面试题参考:使用synchronized 实现ReentrantL..原创 2020-07-31 18:18:15 · 544 阅读 · 0 评论 -
深入分析Synchronized原理
记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synchronized是一个重量级锁,相对于j.u.c.Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 不过,随着Javs SE 1.6对synchronized进行的各种优化后,synchronized并不会显得原创 2020-07-31 18:11:53 · 239 阅读 · 0 评论