java - 如何在方法调用之间交替?
问题描述
我想调用两种方法,但我想一次只调用其中一种。
下次我想打电话给以前没有打电话的人时,一种循环技术
例子:
void mainMethod() {
Obj val;
if (somthing)
val = implMethod1();
else {
val = implMethod2();
}
}
使用 if 语句是可以做到的。但是有什么开箱即用的东西可以用来实现同样的效果吗?
解决方案
您可以将AtomicBoolean用于线程安全Round Robin:
AtomicBoolean roundRobin = new AtomicBoolean(false);
void mainMethod() {
Object val;
if (roundRobin.compareAndSet(false, true)) {
val = implMethod1();
} else {
val = implMethod2();
roundRobin.set(false);
}
}
可以自动更新的布尔值。
推荐阅读
- neo4j - Neo4j 查询以获取没有父级的文档
- python - 无法打开 lib '/opt/netsuite/odbcclient/lib64/ivoa27.so 无法找到 odbc 驱动程序 (Netsuite)
- python - 如何避免使用此代码收到 HTTP 错误 429:太多请求?
- java - 如何gitignore maven构建重定向?
- android - cmdline-tools:无法确定 SDK 根目录
- numpy - Numpy,是否可以对给定索引列表的矩阵(二维数组)的特定元素求和?
- c - 使用 GTK3 获取 GtkDrawingArea 的快照,Windows 上的错误?
- python - 如何直接从pickle创建SharedMemory?
- flutter - Flutter ios错误:如果#available(iOS 10.0,*){
- android - Android Emulator (Android Studio AVD) 串口连接 - 空设备列表