app限時(shí)禁用鎖 多線程編程的時(shí)候,使用無鎖結(jié)構(gòu)會(huì)不會(huì)比有鎖結(jié)構(gòu)更加快?
多線程編程的時(shí)候,使用無鎖結(jié)構(gòu)會(huì)不會(huì)比有鎖結(jié)構(gòu)更加快?這是毫無疑問的,因?yàn)榫€程鎖定是資源密集型的!那么,如何避免鎖的性能下降呢?1、從業(yè)務(wù)上避免大量鎖結(jié)構(gòu)!2. 使用ThreadLocal,可以保證每
多線程編程的時(shí)候,使用無鎖結(jié)構(gòu)會(huì)不會(huì)比有鎖結(jié)構(gòu)更加快?
這是毫無疑問的,因?yàn)榫€程鎖定是資源密集型的
!那么,如何避免鎖的性能下降呢?
1、從業(yè)務(wù)上避免大量鎖結(jié)構(gòu)
!2. 使用ThreadLocal,可以保證每個(gè)線程中的數(shù)據(jù)不會(huì)互相污染
!3. 如果讀多寫少,請(qǐng)使用讀寫鎖
!4. 自旋鎖將挑戰(zhàn)CPU,盡管它是一個(gè)線程時(shí)間很少的鎖
!5. 鎖的粒度應(yīng)該盡可能小:可以在方法中的鎖不應(yīng)該占用整個(gè)方法