当前位置: 首页 > 面试题库 >

关键字volatile有什么含意?并给出三个不同的例子?

杨飞飙
2023-03-14
本文向大家介绍关键字volatile有什么含意?并给出三个不同的例子? 相关面试题,主要包含被问及关键字volatile有什么含意?并给出三个不同的例子? 时的应答技巧和注意事项,需要的朋友参考一下

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到

这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:

• 并行设备的硬件寄存器(如:状态寄存器)

• 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)

• 多线程应用中被几个任务共享的变量

 

 类似资料:
  • 本文向大家介绍关键字volatile有什么含意? 并给出三个不同的例子。相关面试题,主要包含被问及关键字volatile有什么含意? 并给出三个不同的例子。时的应答技巧和注意事项,需要的朋友参考一下 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存

  • 本文向大家介绍关键字volatile有什么含意?相关面试题,主要包含被问及关键字volatile有什么含意?时的应答技巧和注意事项,需要的朋友参考一下 提示编译器对象的值可能在编译器未监测到的情况下改变。

  • 问题内容: 今天的工作中,我遇到了volatileJava中的关键字。不太熟悉,我找到了这种解释。 鉴于该文章详细解释了所讨论的关键字,您是否曾经使用过它,或者是否曾见过可以正确使用此关键字的情况? 问题答案: volatile具有内存可见性的语义。基本上,volatile字段的值对所有读取器(尤其是其他线程)可见,在该字段上完成写操作之后。没有volatile,读者可能会看到一些未更新的值。 要

  • 本文向大家介绍Java里volatile关键字是什么意思,包括了Java里volatile关键字是什么意思的使用技巧和注意事项,需要的朋友参考一下 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机

  • 问题内容: 我阅读了一些有关该关键字的文章,但无法弄清其正确用法。您能否告诉我在C#和Java中应该使用什么? 问题答案: 对于C#和Java,“ volatile”告诉编译器一个变量的值一定不能被缓存,因为它的值可能会在程序本身范围之外改变。然后,如果变量“超出其控制范围”更改,编译器将避免可能导致问题的任何优化。