首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
以下多线程对int型变量x的操作,哪几个需要进行同步()?
[不定项选择题]
以下多线程对int型变量x的操作,哪几个需要进行同步()
x=y
++x
x=1
x++
查看答案及解析
添加笔记
求解答(15)
邀请回答
收藏(1114)
分享
10个回答
添加回答
57
Serious熊
A,因为y的初值不确定,所以要加锁。
B和D需要执行2步操作,所以也需要加锁。
C为赋值操作,且“1”已知,无需加锁。
所以选ABD
发表于 2017-08-26 16:00:19
回复(0)
31
viccto
题意:同时有多个线程对x变量进行如下操作时,哪些操作会使结果可能出现错误?
A. x = y // 每个线程使用的y值可能不同,因此可能出现覆盖写的情况;
B. ++x // 先读出x,再将x+1的值,写入x。同时存在两个线程读取x,并写入x+1,将导致覆盖写;
C. x = 1 // 多个线程的赋值是一样的,因此出现异常情况;
D. x++ // 先保存旧的x值,之后将x+1的值,写入x,并返回旧值。同B选项,多步操作,可能导致异常。
发表于 2019-07-27 16:04:15
回复(0)
16
gogogo1234
赋值为未知加锁
发表于 2017-09-01 21:25:12
回复(0)
6
Jeremy雲
这确定是C语言里面的嘛
发表于 2022-11-26 21:22:38
回复(0)
1
chauney
<p>常量赋值,不用加锁</p>
发表于 2020-07-22 21:14:49
回复(0)
0
已注销
原子操作,应该是只有一句汇编指令的操作
发表于 2022-08-29 17:02:49
回复(0)
0
架构师李肯
c为什么不对,它也是赋值操作
发表于 2019-03-07 07:40:05
回复(2)
0
路人43
A就不解释了
BD就不是原子操作 肯定多线程需要同步 为什么不是原子操作 百度吧 学习吧 太多啦!
发表于 2017-10-05 23:58:24
回复(0)
0
基地份子
这道题本质考察的是原子操作。理论上只要不是原子操作的都需要加锁
发表于 2017-08-31 17:03:37
回复(0)
0
秒速__五厘米
不会
发表于 2017-08-18 13:37:36
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C语言
来自:
完美世界2017校招技...
上传者:
赞花婆
难度:
10条回答
1114收藏
5545浏览
热门推荐
相关试题
假定指针变量 p 定义为 “int...
360集团
C++
C语言
评论
(37)
来自
360公司2014校招笔试卷
class A; class B;...
360集团
C++
C语言
评论
(18)
来自
360公司2014校招笔试卷
通过
评论
(6)
来自
完美世界2017校招技术...
对于变换矩阵的平移矩阵,以下说法正确的是()?
" target="_blank">
图像处理
评论
(22)
来自
完美世界2017校招技术...
以下程序的功能是()?
C语言
评论
(13)
来自
完美世界2017校招技术...
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题