【发布时间】:2009-06-30 11:18:03
【问题描述】:
在浏览多线程编程的许多资源时,通常会出现对 volatile 说明符的引用。 很明显,至少在 C/C++ 和 Java(1.4 及更早版本)中,使用此关键字不是实现多线程之间同步的可靠方法。 以下是维基百科列出的(没有解释如何)作为这个说明符的典型用法:-
- 允许访问内存映射设备
- 允许在 setjmp 和 longjmp 之间使用变量
- 允许在信号处理程序中使用变量
- 忙着等待
我可以开始看到这个说明符在上面列出的用法中的作用,但是由于我还没有完全了解这些领域中的每一个,所以我无法弄清楚这个说明符在每个领域中的确切行为用法。
谁能解释一下?
【问题讨论】:
-
感谢您的回答。关于 volatile 在上面列出的用法中究竟是如何工作的任何输入?