摘要:
1,线程池优点: ①降低资源消耗,复用已创建的线程,减少线程的创建与销毁。 ②提高响应速度,当任务到达时,直接用已创建的线程。 ③提高线程的可管理性,控制并发量。 2,ThreadPoolExecutor类源码: 参数:5个必须参数: corePoolSize:核心线程池数量 maximumPool 阅读全文
摘要:
1,ThreadLocal是什么: ThreadLocal也是解决多线程访问共享变量问题的,不同于加锁,他会在每一个线程内部创建副本, 每个线程独立访问自己内部的副本,不会产生冲突。 2,用法: 示例: public class ThreadLocalTest { static ThreadLoca 阅读全文
摘要:
1,volatile用法:参考博客 上一篇主要介绍了基于AQS的独占锁和读写锁,其中state同步状态都是用volatile关键字修饰的。 作用:保持数据的可见性! 什么是不可见性的? ①了解java内存模型,JMM 线程通过将主存中共享变量副本保存在线程私有的本地内存,然后进行写操作。当一个线程修 阅读全文
摘要:
0,Sychronized与ReentrantLock区别(两种都是常见可重入排他锁) ①ReentrantLock是JDK实现的,Sychronized是JVM实现,通过底层指令控制。 ②Reentrant支持非公平锁和公平锁,sychronized只支持非公平锁。 ③ReentrantLock可 阅读全文