Java并发编程的艺术
文章平均质量分 91
iCoding91
KISS
keep it simple and short
展开
-
ThreadLocal源码分析-java8
1.特性分析 类功能 提供线程本地变量。 减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度 为线程提供一个私有的变量副本,这样每一个线程都可以随意修改自己的变量副本,而不会对其他线程产生影响。 与类中其它普通变量的区别 普通的变量可以通过线程自身的get和set方法进行访问。 本地变量是独立初始化的变量de副本。 ThreadLocal实例声明规则 定义为privat...原创 2018-05-17 13:01:37 · 476 阅读 · 0 评论 -
Thread源码分析-java8
1.Thread特性分析 守护线程Daemon 定性:支持性线程,主要用于程序中后台调度以及支持性工作。 当JVM中不存在Daemon线程时,JVM将会退出。 将一个线程设定为Daemon的方法: 调用Thread.setDaemon(true)。 Daemon属性的设定只能在启动线程前设置,启动线程后不能设置。 JVM退出时Daemon线程中的finally块中的代码不一定会执行。因此不...原创 2018-05-14 17:16:46 · 2986 阅读 · 1 评论 -
Java并发编程的艺术笔记
多线程总结 Java内存模型 volatile 重排序规则[不允许重排序] volatile读+任何操作 任何操作+volatile写 volatile写+volatile读 ReentrantLock 实现依赖于Java同步器框架AQS AQS使用一个整型的volatile变量(命名为state)来维护同步状态 这个volatile变量是ReentrantLock内存语义的关键...原创 2018-10-20 13:42:47 · 719 阅读 · 0 评论