测试有锁与无锁CAS的性能

 出于对高并发的兴趣,对此做了个有锁与无锁CAS的性能测试

代码如下:

package bingFa_4;

import java.util.concurrent.atomic.AtomicInteger;

public class Test3 {
	static AtomicInteger sum1 = new AtomicInteger();
	static int sum2 = 0;
	static int sum3 = 0;
	static Object obj = new Object();
	//循环个数
	static int count = 10000; 
	
	//测试无锁的原子类
	public static class AddThread1 implements Runnable
	{
		@Override
		public void run() {
			// TODO Auto-generated method stub
			for(int k=0; k测试有锁与无锁CAS的性能_第1张图片

对于100个线程, 循化++,10000次

测试有锁与无锁CAS的性能_第2张图片

对于100个线程, 循化++,100000次

测试有锁与无锁CAS的性能_第3张图片

从结果来看, 速度快慢的顺序是: AddThread3(锁冲突很少)>AddThread1(比较和交换略多)>AddThread2(锁冲突多)

你可能感兴趣的:(多线程与并发编程)