栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

对不稳定类和原子类有疑问吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

对不稳定类和原子类有疑问吗?

声明1:-“易失性变量只能安全地用于单次装载或存储操作,不能应用于长期或双重变量。这些限制使得易失性变量的使用不常见”

什么?!我认为这完全是错误的。也许您的书已经过时了。

声明2:-“易失性整数不能与运算符一起使用,因为运算符包含多条指令。AtomicInteger类具有一种方法,该方法允许以原子方式递增所保存的整数。”

确切地说。++运算符实际上会转换为这样的机器代码(类似于Java的伪代码):

sync_CPU_caches();int processorRegister = variable;processorRegister = processorRegister + 1;variable = processorRegister;sync_CPU_caches();

这不是线程安全的,因为即使它具有内存屏障,并且可以原子地读取和原子地写入,也不能保证您不会在中间获得线程切换,并且处理器寄存器是CPU内核本地的(将其视为CPU内核内部的“局部变量”)。但是an

AtomicInteger
是线程安全的-它可能是使用特殊的机器代码指令(例如比较和交换)实现的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号