Stopper的使用
生活随笔
收集整理的這篇文章主要介紹了
Stopper的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
工具類,抽象死循環邏輯的
import java.util.concurrent.atomic.AtomicBoolean;
/**
* if the process closes, a signal is placed as true, and all threads get this flag to stop working
*/
public class Stopper {
private static AtomicBoolean signal = new AtomicBoolean(false);
public static final boolean isStopped(){
return signal.get();
}
public static final boolean isRunning(){
return !signal.get();
}
public static final void stop(){
signal.set(true);
}
}
使用
while (Stopper.isRunning()) {
InterProcessMutex mutex = null;
try {
if (zkClient.getZkClient().getState() == CuratorFrameworkState.STARTED) {
mutex = zkClient.blockAcquireMutex();
// zk獲取到鎖開始執行業務邏輯,此處可以使用Thread.yield代理Thread.sleep方法
}
} catch (Exception ex) {
logger.error("master scheduler thread error", ex);
} finally {
zkClient.releaseMutex(mutex);
}
}
總結
以上是生活随笔為你收集整理的Stopper的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光遇服务器维护都在干什么,光遇:全图毕业
- 下一篇: 三十而立,当以何立足于世?