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