java并发之基础概念

引用
    说起java并发,首先会想到的估计就是线程,这两天因为项目里面有关于类似秒杀的功能,所以就回顾一下java线程的相关知识,首先说几个概念
原子性
    原子操作,指的是该操作是不可分割的,如:a=1,但是a++就不是原子操作,因为该操作分成两步a=a+1,非原子操作都会存在线程安全问题,需要我们使用同步技术(sychronized)来让它变成一个原子操作,但是原子类可以保证,如下代码所示:
private AtomicLong count = new AtomicLong(0);

    public long getCount() {
        return count.get();
    }

    public void add() {
        count.incrementAndGet();
    }

可见性
    可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个线程修改的结果。另一个线程马上就能看到。比如:用volatile修饰的变量,就会具有可见性。volatile修饰的变量不允许线程内部缓存和重排序,即直接修改内存。所以对其他线程是可见的。

另外引用一篇文章讲的概念挺好: http://www.importnew.com/24082.html

猜你喜欢

转载自stonezpl.iteye.com/blog/2370677