码迷,mamicode.com
首页 > 编程语言 > 详细

多线程8---volatile2---多线程间变量的可见性不具备原子性---AtomicInteger

时间:2017-12-01 23:32:32      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:启动   style   tom   图片   vol   end   pre   pen   i++   

1.

技术分享图片
 1 public class VolatileNoAtomic extends Thread {
 2     private static volatile int count; //volatile具有线程间的变量的可见性不具备原子性
 3     
 4     public void run(){
 5         addCount();
 6     }
 7     
 8     private  static void addCount() {
 9         for(int i = 0; i< 1000; i++){
10             count++;
11         }
12         //System.out.println(count.get());
13         System.out.println(count);
14     }
15 
16     public static void main(String[] args) {
17         VolatileNoAtomic[] atomics = new VolatileNoAtomic[10];
18         for(int i = 0; i<10; i++){
19             atomics[i] = new VolatileNoAtomic(); //创建10个线程
20             atomics[i].start(); //启动10个线程
21         }
22     }
23     /*
24      *  1000
25         2000
26         3047
27         4019
28         4745
29         5745
30         6745
31         7745
32         8745
33         9745
34      */
35 }
View Code

 

2.

技术分享图片
 1 public class VolatileNoAtomic extends Thread {
 2     //  AtomicInteger 原子性
 3     private static AtomicInteger count = new AtomicInteger(0);
 4     public void run(){
 5         addCount();
 6     }
 7     
 8     private  static void addCount() {
 9         for(int i = 0; i< 1000; i++){
10             count.incrementAndGet();
11         }
12         System.out.println(count.get());
13     }
14 
15     public static void main(String[] args) {
16         VolatileNoAtomic[] atomics = new VolatileNoAtomic[10];
17         for(int i = 0; i<10; i++){
18             atomics[i] = new VolatileNoAtomic(); //创建10个线程
19             atomics[i].start(); //启动10个线程
20         }
21     }
22     /*
23      *  1000
24         2000
25         3611
26         4796
27         5543
28         6495
29         7699
30         8000
31         9751
32         10000
33      */
34 }
View Code

 

多线程8---volatile2---多线程间变量的可见性不具备原子性---AtomicInteger

标签:启动   style   tom   图片   vol   end   pre   pen   i++   

原文地址:http://www.cnblogs.com/bravolove/p/7944553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!