public class RunningState {
private byte[] mLock = new byte[0];
private int mRunningCount = 0;
/**
* @return 是否正在运行状态
*/
public boolean isRunning() {
synchronized (mLock) {
return mRunningCount != 0;
}
}
/**
* inRunning与outRunning需要成对出现
*/
public void inRunning() {
synchronized (mLock) {
mRunningCount++;
}
}
/**
* inRunning与outRunning需要成对出现
*/
public void outRunning() {
synchronized (mLock) {
if (mRunningCount > 0) {
mRunningCount--;
}
}
}
}