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); } } });这里就简答的实现了点击图片切换图片功能了。
胡小牧 认证博客专家 Android Java 小程序 岁月推动着年华,伴随着流水的脚步走过春夏秋冬。回想一路走来磕磕绊绊,感谢前辈们的无私奉献,本文重在共享,欢迎大家转载,评论,指教,点赞,谢谢,如果您对文章存在疑问,或者和您的文章类似,请私信,----------------期待是心痛的根源,心不动,则不痛。