并发控制—CAS

public class AtomicIntegerTest {

	private static AtomicInteger count = new AtomicInteger();
	
	private static int value = 1;
	
	public static void main(String[] args) {		
		for(int i=0;i < 2000; i++) {
			new Thread(new Runnable() {
				@Override
				public void run() {
					cas(value++);
				}
			}).start();
		}
	}
	
	public static void increment() {
		System.out.println(count.incrementAndGet());
	}
	
	public static void cas(int v) {
		while(true) {
			int current = count.get();
			if(count.compareAndSet(current, v)) {
				System.out.println("CAS同步到AtomicInteger,当前只"+current + "新值" + v);
				break;
			} else {
				System.out.println("重置");
			}
		}
	}
}

你可能感兴趣的:(cas)