2016 - 2024

感恩一路有你

多线程高并发面试题 多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?

浏览量:1325 时间:2021-03-17 22:27:56 作者:admin

多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?

下面简要解释一下原因:

锁定是因为操作不是原子的。让我们用操作一来解释它。看下面两个图。

我这个操作需要

看上面的第二个图,你能很清楚地理解这个过程吗?

锁定是为了确保上述三个步骤是原子操作。

回到问题上来,只有一个线程要写,没有竞争,所以不需要锁定。

但是,如果你看第一张图片,因为主内存和本地内存的存在

在一个线程写入后,其他线程无法立即看到它。这就是可见性问题。

添加volatile关键字后,它将在操作后强制工作内存和主内存同步,以确保其他线程可以立即看到它。

你经历过哪些有意思的面试题目?

你好,我很高兴回答你的问题。

如果你是某个单位的公职人员,你的亲戚朋友经常来找你打听单位的内部事务。如果你有什么事需要你帮忙,你应该怎么处理?][真题]爱狗协会人士反映,最近他们用200条狗堵了一辆车,网上批评刘胡兰、邱少云、琅琊山五杰等中国抗日英雄的言论很多。你觉得这个怎么样?]【真题】近年来,释放积德的行为层出不穷,但最近有人放生老鼠。你怎么认为?

面试题还有很多其他意思,小编不会一一列出,如果你有兴趣,可以去sd.offcn.com网站学习。

一个面试题:用SSH框架做的项目是如何管理多线程的?

SSH:通过操作触发多线程任务。每个任务都调用一个方法,该方法继承hibernatedaosupport的服务。现在每个线程都绑定了一个新的hibernate会话

多线程高并发面试题 mysql面试题 java解决高并发的几种方法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。