AtomicBoolean 的使用与介绍

AtomicBoolean

AtomicBoolean是Java.util.concurrent.atomic包下的原子变量,能够保证在高并发的情况下只有一个线程能够访问这个属性值

这个是boolean 值,实际的开发中也是偶尔使用到,不过自己使用AtomicBoolean 当做boolean 值来使用了

下面简单的说下自己的使用,把别人总结的方法来下来了,大家可参考下 。

AtomicBoolean 的方法大致如下 :

public boolean compareAndSet(boolean expect, boolean update)  :如果当前值==期望值,则将该值原子设置为给定的更新值。

public boolean get() :返回当前值。

public boolean getAndSet(boolean newValue): 将原子设置为给定值并返回上一个值。

public void lazySet(boolean newValue) :最终设定为给定值。

public void set(boolean newValue) : 无条件地设置为给定的 值。

public String toString()  : 返回当前值的String表示形式。

public boolean weakCompareAndSet(boolean expect, boolean update) :如果当前值==期望值,则将该值原子设置为给定的更新值。

下面写一个基本的点击图片切换图片的功能 ,假如我们使用boolean 值来

定义一个boolean 值  

private boolean flag = true;

实现功能:

                imageView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (flag) {
                            imageView.setImageResource(R.mipmap.ic_launcher);
                            flag = false;
                        } else {
                            imageView.setImageResource(R.mipmap.three);
                            flag = true;
                        }

                    }

                });

这个就是使用boolean 值来实现点击图片切换图片 

下面使用AtomicBoolean 来

定义一个boolean值

private AtomicBoolean isViewShow = new AtomicBoolean(true);

实现功能

 imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (isViewShow.get()) {
                    imageView.setImageResource(R.mipmap.ic_launcher);
                    isViewShow.set(false);
                } else {
                    imageView.setImageResource(R.mipmap.three);
                    isViewShow.set(true);
                }
            }
        });

这里就简答的实现了点击图片切换图片功能了。

猜你喜欢

转载自blog.csdn.net/qq_33210042/article/details/108381377