@Override public void executeOnPartitionThreads(Runnable task) { checkNotNull(task, "task can't be null"); for (OperationThread partitionThread : partitionThreads) { partitionThread.queue.add(task, true); } }
@Override public void executeOnPartitionThreads(Runnable task) { checkNotNull(task, "task can't be null"); for (OperationThread partitionThread : partitionThreads) { partitionThread.queue.add(task, true); } }
@Override public void executeOnPartitions(PartitionTaskFactory taskFactory, BitSet partitions) { checkNotNull(taskFactory, "taskFactory can't be null"); checkNotNull(partitions, "partitions can't be null"); for (PartitionOperationThread partitionThread : partitionThreads) { TaskBatch batch = new TaskBatch(taskFactory, partitions, partitionThread.threadId, partitionThreads.length); partitionThread.queue.add(batch, false); } }
@Override public void executeOnPartitions(PartitionTaskFactory taskFactory, BitSet partitions) { checkNotNull(taskFactory, "taskFactory can't be null"); checkNotNull(partitions, "partitions can't be null"); for (PartitionOperationThread partitionThread : partitionThreads) { TaskBatch batch = new TaskBatch(taskFactory, partitions, partitionThread.threadId, partitionThreads.length); partitionThread.queue.add(batch, false); } }
private void process(TaskBatch batch) { Object task = batch.next(); if (task == null) { completedOperationBatchCount.inc(); return; } try { if (task instanceof Operation) { process((Operation) task); } else if (task instanceof Runnable) { process((Runnable) task); } else { throw new IllegalStateException("Unhandled task: " + task + " from " + batch.taskFactory()); } } finally { queue.add(batch, false); } }
private void process(TaskBatch batch) { Object task = batch.next(); if (task == null) { completedOperationBatchCount.inc(); return; } try { if (task instanceof Operation) { process((Operation) task); } else if (task instanceof Runnable) { process((Runnable) task); } else { throw new IllegalStateException("Unhandled task: " + task + " from " + batch.taskFactory()); } } finally { queue.add(batch, false); } }