JavaEE
文章平均质量分 70
学习不积极
这个作者很懒,什么都没留下…
展开
-
【JavaEE】单例模式
在多线程下,饿汉模式是线程安全的,懒汉模式是线程不安全的;1.多线程下,抢占式执行(操作系统的随机调度)2.多个线程修改同一个变量3.修改操作不是原子的4.内存可见性5.指令重排序}}懒汉模式:当一个线程t1正在创建对象并赋值给instance,但并没有执行完时,另一个线程t2读到了还没有修改完的值,因此又重新创建了一个新的对象,此时就会导致实例被创建出多份儿了。那么如何解决呢?-加锁}}}此时就不会出现上述问题了,但是又有新的问题出现了。原创 2022-09-16 23:30:14 · 89 阅读 · 1 评论 -
【JavaEE】线程安全
【程序员写代码的水平有高有低,因此设计编译器的大佬们为了缩小其中的差距,会对代码进行优化,将代码的执行逻辑等价转换成另一种逻辑,使代码在逻辑不变的基础上,效率获得提升】但同时我们要注意,当多个线程对同一变量进行修改操作时,每个线程执行的操作中都要对其进行加锁,如果线程没有全部加锁,那么也是徒劳的,依然会引发线程不安全的问题。让我们来做个小测试,两个线程,每个线程循环1w次让num累加,共计2w次,执行完让我们看结果。原因2我们可以对代码进行调整以此来规避线程不安全,但适用性较低,相对比较麻烦。原创 2022-09-07 13:08:47 · 100 阅读 · 0 评论 -
【JavaEE】volatile关键字的作用
这也是引起线程不安全的原因之一:内存可见性【对代码的优化】原创 2022-09-14 23:01:09 · 184 阅读 · 0 评论