摘要:
# CAS ## 问题 多线程环境不适用原子类保证线程安全i++,需要加synchronized关键字,锁重,性能较差 来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。 所以,推导出我们需要知道JMM 定义: JMM(Java内存模 阅读全文
摘要:
# 原子操作类 ## 总览 - AtomicBoolean - AtomicInteger - AtomicIntegerArray - [AtomicIntegerFieldUpdater](AtomicIntegerFieldUpdater.html) - AtomicLong - [Atomi 阅读全文
摘要:
# LockSupport与线程中断 ## 线程中断 首先 一个线程不应该由其他线程来强制中断或停止,而是***应该由线程自己自行停止***,自己来决定自己的命运。所以,Thread.stop,Thread.suspend, Thread.resume 都已经被废弃了。 其次 在Ja 阅读全文
摘要:
# 多线程锁 ## 乐观锁与悲观锁 悲观锁:认为 在使用数据的时候一定会有线程来修改数据,因此在获取数据的时候会先加索,确保数据不会被别的线程修改 synchronized和Lock的实现类都是悲观锁 使用场景:适合操作写多的场景,**先加锁**可以保证写操作时数据正确,显示锁定后**再 阅读全文