Prevent NPE

pull/210/head
M66B 2 years ago
parent 466a04f764
commit f84c332c9e

@ -251,7 +251,7 @@ public class Helper {
static ExecutorService sSerialTaskExecutor = null; static ExecutorService sSerialTaskExecutor = null;
static int sOperationIndex = 0; static int sOperationIndex = 0;
static ExecutorService[] sOperationExecutor = new ExecutorService[OPERATION_WORKERS]; static final ExecutorService[] sOperationExecutor = new ExecutorService[OPERATION_WORKERS];
static ExecutorService getSerialExecutor() { static ExecutorService getSerialExecutor() {
if (sSerialExecutor == null) if (sSerialExecutor == null)
@ -272,11 +272,13 @@ public class Helper {
} }
static ExecutorService getOperationExecutor() { static ExecutorService getOperationExecutor() {
if (sOperationExecutor[sOperationIndex] == null) synchronized (sOperationExecutor) {
sOperationExecutor[sOperationIndex] = getBackgroundExecutor(1, "operation"); if (sOperationExecutor[sOperationIndex] == null)
ExecutorService result = sOperationExecutor[sOperationIndex]; sOperationExecutor[sOperationIndex] = getBackgroundExecutor(1, "operation");
sOperationIndex = (sOperationIndex + 1) % sOperationExecutor.length; ExecutorService result = sOperationExecutor[sOperationIndex];
return result; sOperationIndex = (sOperationIndex + 1) % sOperationExecutor.length;
return result;
}
} }
private static ExecutorService getBackgroundExecutor(int threads, final String name) { private static ExecutorService getBackgroundExecutor(int threads, final String name) {

Loading…
Cancel
Save