网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月08日
漏签
0
天
java吧
关注:
1,293,887
贴子:
12,828,907
看贴
图片
吧主推荐
视频
游戏
21
回复贴,共
1
页
<返回java吧
>0< 加载中...
技术贴,问个问题
只看楼主
收藏
回复
allanwang9187
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
synchronized保证了同步块的原子性,这句话对不对?
送TA礼物
1楼
2019-02-28 00:16
回复
______357
淼淼淼
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为啥这么问?
来自
iPhone客户端
2楼
2019-02-28 08:51
回复(2)
收起回复
2026-01-08 09:43:21
广告
不感兴趣
开通SVIP免广告
ocox
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
对
IP属地:浙江
来自
Android客户端
3楼
2019-02-28 08:56
回复(3)
收起回复
KingLong4444
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
建议你先百度一下什么叫原子性,原子性是事务的特性,我觉得同步的特性应该是有序性
IP属地:上海
4楼
2019-02-28 09:16
回复(3)
收起回复
星夜oo7
淼淼淼沝
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
仔细研究了一下,发现我理解的有问题,重新说一遍吧。
应该是这样的:指令重排序,导致同步代码快还没执行完毕而instance != null(因为指向了内存地址,所以不为空,但是没初始化),那么线程二存在一定可能会返回上个线程的没有初始化的对象而导致错误的结果。
IP属地:江西
5楼
2019-02-28 09:44
回复(2)
收起回复
贴吧用户_0GQUWeE
司马沝
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我觉得说的没啥大问题
IP属地:辽宁
6楼
2019-02-28 10:35
回复
收起回复
黑熊猫爱看书
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
觉得双重检测的有问题的是下边的过程
if (instance == null ) { // step 1
synchronice {
if (instance == null) instance = new Object(); //step 2
}
}
new Object()这个过程不是原子性操作,分了3个子步骤,初始化,赋值等(差不多吧),因为重排序的原因,导致赋值先执行,初始化还没完成。也就是执行step2的时候,instance已经不为空了,赋值操作发生了,初始化还在执行中。
所以第二个线程执行到step1,这里还没进去锁,发现instance != null,就返回了,但是这时候线程1在做初始化工作,线程2拿到的是未完成初始化的对象。
IP属地:广东
7楼
2019-02-28 11:51
回复
收起回复
黑熊猫爱看书
司马水
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大部分人是这样解释的,双重检测为什么要加volatile。但是我测不出来,给构造方法加个Thread.sleep(),也没测出来有什么问题。
按我的理解,内存划分主内存,和工作内存(线程独占),new发生在工作内存上,初始化完成之后,才会将静态变量的值写回主内存。不都说线程会持有静态变量的副本吗,那new操作时不应该赋值给副本吗,怎么会直接写回主内存了。
不太懂这个,反正我现在无脑上静态内部类了。双重检测见鬼去吧
IP属地:广东
8楼
2019-02-28 11:56
回复(1)
收起回复
2026-01-08 09:37:21
广告
不感兴趣
开通SVIP免广告
千惭
淼淼沝
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我觉得差不多 除了执行wait()
IP属地:广东
9楼
2019-02-28 11:58
回复
收起回复
冰帝大本营
淼淼淼沝
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
synchronized,和@service的原子性有什么区别?
IP属地:浙江
来自
Android客户端
10楼
2019-02-28 16:34
回复
收起回复
飞一样编程
淼淼淼水
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
自学?
IP属地:湖南
来自
Android客户端
11楼
2019-02-28 21:59
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
相亲遇智障,彩礼血亏只退半
2476936
2
FGO肘赢复活赛,堪比钟离假死
2393442
3
战机自刎归天,台军F16坠海
1813162
4
最胖肥宅离世,体重纪录变遗产
1812850
5
管制戳痛处,日方跳脚喊撤回
1405272
6
喜宴变绿宴,老婆婚前搞出轨
1311460
7
一刀切!裁判文书将隐去法官姓名
1079276
8
25年出生人口数,速来盲猜一波
776832
9
限韩令翻篇?中韩握手播新番
583240
10
战雷假新闻钓大鱼,媒体秒上钩
467381
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示