作者回复: 正解
作者回复: 加油
作者回复: 非常感谢反馈
作者回复: 后面会对实现做些源码分析,其实还有各种不同的锁...
作者回复: 非常感谢
作者回复: 这个精确的标准我还真不知道,我觉得可以这么理解:如果大部分情况,每个线程都不需要真的获取锁,就是低竞争;反之,大部分都要获取锁才能正常工作,就是高竞争
作者回复: 嗯,并发库里都是靠自己的synchronizer
作者回复: 你看到的很对,如果从单个线程做的事来看,也许并没有优势,不管是空间还是时间,但ReentrantLock这种所谓cas,或者叫lock-free,方式的好处,在于高竞争情况的扩展性,而原来那种频繁的上下文切换则会导致吞吐量迅速下降
作者回复: 这个我没用过,哪位读者熟悉?
作者回复: 基本如此,乐观、悲观是两种不同的处理策略
作者回复: 还真不知道有没有具体标准,但从逻辑上,低业务量不一定是“低竞争”,可能因为程序设计原因变成了“高竞争”
作者回复: volatile读写、同步块这种