AtomicBoolean 的使用与介绍
AtomicBoolean
AtomicBoolean是Java.util.concurrent.atomic包下的原子變量,能夠保證在高并發(fā)的情況下只有一個(gè)線程能夠訪問這個(gè)屬性值
這個(gè)是boolean 值,實(shí)際的開發(fā)中也是偶爾使用到,不過自己使用AtomicBoolean 當(dāng)做boolean 值來(lái)使用了
下面簡(jiǎn)單的說下自己的使用,把別人總結(jié)的方法來(lái)下來(lái)了,大家可參考下 。
AtomicBoolean 的方法大致如下 :
?
public boolean compareAndSet(boolean expect, boolean update)? :如果當(dāng)前值==期望值,則將該值原子設(shè)置為給定的更新值。
public boolean get() :返回當(dāng)前值。
public boolean getAndSet(boolean newValue):?將原子設(shè)置為給定值并返回上一個(gè)值。
public void lazySet(boolean newValue) :最終設(shè)定為給定值。
public void set(boolean newValue) :?無(wú)條件地設(shè)置為給定的 值。
public String toString()? :?返回當(dāng)前值的String表示形式。
public boolean weakCompareAndSet(boolean expect, boolean update) :如果當(dāng)前值==期望值,則將該值原子設(shè)置為給定的更新值。
下面寫一個(gè)基本的點(diǎn)擊圖片切換圖片的功能 ,假如我們使用boolean 值來(lái)
定義一個(gè)boolean 值??
private boolean flag = true;
實(shí)現(xiàn)功能:
imageView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if (flag) {imageView.setImageResource(R.mipmap.ic_launcher);flag = false;} else {imageView.setImageResource(R.mipmap.three);flag = true;}}});
這個(gè)就是使用boolean 值來(lái)實(shí)現(xiàn)點(diǎn)擊圖片切換圖片?
下面使用AtomicBoolean 來(lái)
定義一個(gè)boolean值
private AtomicBoolean isViewShow = new AtomicBoolean(true);
實(shí)現(xiàn)功能
imageView.setOnClickListener(new View.OnClickListener() {@Overridepublic 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);}}});
這里就簡(jiǎn)答的實(shí)現(xiàn)了點(diǎn)擊圖片切換圖片功能了。
?
總結(jié)
以上是生活随笔為你收集整理的AtomicBoolean 的使用与介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的美母教师作者是谁啊?
- 下一篇: Android 使用 ellipsize