Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2108547
  • 博文数量: 413
  • 博客积分: 10926
  • 博客等级: 上将
  • 技术积分: 3862
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-09 18:14
文章分类

全部博文(413)

文章存档

2015年(5)

2014年(1)

2013年(5)

2012年(6)

2011年(138)

2010年(85)

2009年(42)

2008年(46)

2007年(26)

2006年(59)

分类: Java

2011-10-31 15:36:50

  1. Package
    java.util.concurrent.atomic
    http://developer.android.com/reference/java/util/concurrent/atomic/package-summary.html
  2. Classes
    java.util.concurrent.atomic provides to atomic access for Boolean, Integer, Long, Reference, their array and reflection-based classes (AtomicXXXFieldUpdater, it is used to enable atomic updates to designated volatile XXX fields of designated classes).
  3. Sample
    • AtomicIntegerFieldUpdater
          import java.util.concurrent.atomic.*; 
           
          class Container { 
            public volatile int no; 
          } 
           
          class Task extends Thread { 
            private AtomicIntegerFieldUpdater updater = 
              AtomicIntegerFieldUpdater.newUpdater(Container.class, "no"); 
            private Container c; 
           
            public Task(Container c) { 
              this.c = c; 
            } 
            @Override 
            public void run() { 
              System.out.println(updater.getAndIncrement(c));   
              System.out.println(updater.getAndIncrement(c));   
            } 
          } 
           
          public class UpdaterUsage { 
            public static void main (String [] args) { 
              Container c = new Container(); 
              Task t1 = new Task(c); 
              Task t2 = new Task(c); 
              t1.start(); 
              t2.start(); 
            }   
          } 
    • xxx
  4. xx
阅读(1271) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~