全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+

当前位置:首页 > 广州

synchronized和ReentrantLock区别是什么?

synchronized是和if、else、for、while一样的关键字,ReentrantLock是类,这是二者的本质区别。既然ReentrantLock是类,那么它就提供了比synchronized更多更灵活的特性,可以被继承、可以有方法、可以有各种各样的类变量。

2022-11-19

很多人都说要慎用ThreadLocal,谈谈你的理解?

使用时需要注意以下几点:- 线程之间的threadLocal变量是互不影响的 - 使用private final static进行修饰,防止多实例时内存的泄露问题 - 线程池环境下使用后将threadLocal变量remove掉或设置成一个初始值

2022-11-19

请谈谈 ThreadLocal 是怎么解决并发安全的?

而另外一种方式就是ThreadLocal方式,通过创建线程局部变量,以空间换时间的方式来让多线程并行执行。

2022-11-19

ThreadLocal 是什么?有哪些使用场景?

原理:线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。但是在管理环境下(如 Web服务器)使用线程局部变量的时候要特别小心,在这种情况下,工作线程的生命周期比任何应用变量的生命周期都要长。

2022-11-19

volatile关键字能否保证线程安全?

单纯使用 volatile 关键字是不能保证线程安全的  1. volatile 只提供了一种弱的同步机制,用来确保将变量的更新操作通知到其他线程  2. volatile 语义是禁用 CPU 缓存,直接从主内存读、写变量。表现为:更新 volatile 变量时,JMM 会把线程对应的本地内存中的共享变量值刷新到主内存中;

2022-11-19

热问标签

热门频道

在线咨询 免费试学 教程领取