线程池
摘要:1,线程池优点: ①降低资源消耗,复用已创建的线程,减少线程的创建与销毁。 ②提高响应速度,当任务到达时,直接用已创建的线程。 ③提高线程的可管理性,控制并发量。 2,ThreadPoolExecutor类源码: 参数:5个必须参数: corePoolSize:核心线程池数量 maximumPool
阅读全文
posted @
2020-10-12 21:23
呵呵哒9876
阅读(70)
推荐(0)
ThreadLocal
摘要:1,ThreadLocal是什么: ThreadLocal也是解决多线程访问共享变量问题的,不同于加锁,他会在每一个线程内部创建副本, 每个线程独立访问自己内部的副本,不会产生冲突。 2,用法: 示例: public class ThreadLocalTest { static ThreadLoca
阅读全文
posted @
2020-10-12 18:49
呵呵哒9876
阅读(205)
推荐(0)
volatile
摘要:1,volatile用法:参考博客 上一篇主要介绍了基于AQS的独占锁和读写锁,其中state同步状态都是用volatile关键字修饰的。 作用:保持数据的可见性! 什么是不可见性的? ①了解java内存模型,JMM 线程通过将主存中共享变量副本保存在线程私有的本地内存,然后进行写操作。当一个线程修
阅读全文
posted @
2020-10-12 11:39
呵呵哒9876
阅读(212)
推荐(0)
ReentrantLock AQS ReentrantReadWriteLock
摘要:0,Sychronized与ReentrantLock区别(两种都是常见可重入排他锁) ①ReentrantLock是JDK实现的,Sychronized是JVM实现,通过底层指令控制。 ②Reentrant支持非公平锁和公平锁,sychronized只支持非公平锁。 ③ReentrantLock可
阅读全文
posted @
2020-10-12 01:16
呵呵哒9876
阅读(206)
推荐(0)
synchronized
摘要:synchronized直接看这篇 1,synchronized关键字用法 ①修饰代码块,指定加锁对象,表示进入当前代码块要获得指定对象的锁。 ②修饰实例方法:对当前对象加锁,进入同步方法要获得当前对象的锁。 ③修饰静态方法,给当前类加锁,作用于类的所有对象,访问静态方法要获得class锁。 2,介
阅读全文
posted @
2020-10-09 14:16
呵呵哒9876
阅读(340)
推荐(0)
多线程基础
摘要:学习资料: 深入浅出多线程 JavaGuide 《并发编程的艺术》 百度233 1,进程与线程 1.1,进程:运行一个程序,就会创建进程。应用程序在内存中分配的空间。让操作系统实现并发。 线程:一个程序(进程)的子任务。实现进程内部的并发。轻量级线程。 1.2,关系: has a 进程可以包含多个线
阅读全文
posted @
2020-10-08 20:35
呵呵哒9876
阅读(111)
推荐(0)