首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
以下多线程对int型变量x的操作,哪几个需要进行同步()?
[不定项选择题]
以下多线程对int型变量x的操作,哪几个需要进行同步()
x=y
++x
x=1
x++
查看答案及解析
添加笔记
求解答(15)
邀请回答
收藏(1178)
分享
11个回答
添加回答
58
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
greenmemo
A不是阿,其他线程修改就修改吧
发表于 2026-02-11 17:49:21
回复(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校招技...
上传者:
赞花婆
难度:
11条回答
1178收藏
5962浏览
热门推荐
相关试题
假定指针变量 p 定义为 “int...
360集团
C++
C语言
评论
(37)
来自
360公司2014校招笔试卷
class A; class B;...
360集团
C++
C语言
评论
(18)
来自
360公司2014校招笔试卷
下列代码...
C++
C语言
评论
(49)
来自
完美世界2017校招技术...
通过
评论
(6)
来自
完美世界2017校招技术...
6个不同式样的珠子,可以串联成()...
产品
运营
游戏策划
设计
牛客
财务
审计
税务服务
风险管理
证券分析师
理财顾问
柜面服务
营销
项目助理
评论
(1)
来自
牛客模拟卷—行测篇A卷
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题