volatile关键字相信了解Java多线程的读者都很清楚它的作用。volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原子级别的。但这有一定的限制。例如,下面的例子中的n就不是原子级别的:
1.package mythread;
2.
3.public class JoinThread extends Thread
4.{
5. public static volatile int n = 0;
6. public void run()
7. {
8. for (int i = 0; i < 10; i++)
9. try
10. {
11. n = n + 1;
12. sleep(3); // 为了使运行结果更随机,延迟3毫秒
13.
14. }
15. catch (Exception e)
16. {
17. }
18. }
19.
20. public static void main(String[] args) throws Exception
21. {
22.
23. Thread threads[] = new Thread[100];
① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;
② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。