AtomicBoolean 的使用与介绍

tech2023-02-12  96

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 小程序 岁月推动着年华,伴随着流水的脚步走过春夏秋冬。回想一路走来磕磕绊绊,感谢前辈们的无私奉献,本文重在共享,欢迎大家转载,评论,指教,点赞,谢谢,如果您对文章存在疑问,或者和您的文章类似,请私信,----------------期待是心痛的根源,心不动,则不痛。
最新回复(0)