我刚刚遇到了一个BNF Grammar for JAVA。其中,“修饰符”有一个称为“线程安全”的终端符号。但是,我以前从未见过它,也无法在 Java 语言规范 Java SE 7 版 (docs.oracle.com/javase/specs/jls/se7/jls7.pdf) 中找到该修饰符。然而,我在这里找到了它,在第 16 条中将其描述为:
如果同时执行此代码的另一个线程无法更改变量的值,则该变量是线程安全的,编译器可能会对其进行巧妙的处理以使代码更快或更小。
这是真正的修饰符吗?它应该在即将发布的 JAVA 版本中引入吗?