![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
coder_rad
https://rad911.github.io/
展开
-
ThreadLocal
1.作用ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get或set方法访问)时能保证各个线程里的变量相对独立于其他线程内的变量。可以总结为一句话:ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。至于ThreadLocal为什么可以解决多线程程序并发问题...原创 2018-11-25 22:12:27 · 226 阅读 · 2 评论 -
final关键字
final关键字1.修饰类当final修饰类的时候,表明这个类不能被继承。final类中的成员变量可以根据需要设置为final,但是需要注意的是final类的所有方法都会隐式的指定为final方法。2.修饰方法使用final修饰方法的原因有两个,一个是把方法锁定了,防止任何继承类修改它的含义。第二个是效率,在早期的Java实现版本中,会将final方法转为内嵌调用。但是方法过于庞大的话,...原创 2018-11-29 09:50:34 · 155 阅读 · 0 评论 -
volatile关键字
volatile关键字的两层语义一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,就具备了两层语义:1.保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这个新指对其他线程来说是立即可见的。2.禁止指令重排序。有两层意思:(1)当程序执行到volatile变量的读操作或者写操作时,在其前面的更改肯定全部进行完成,且结果已经对后面的操作可见...原创 2018-11-29 10:48:23 · 161 阅读 · 0 评论