private void execute(Object task, int partitionId, boolean priority) { if (partitionId < 0) { genericQueue.add(task, priority); } else { OperationThread partitionThread = partitionThreads[toPartitionThreadIndex(partitionId)]; partitionThread.queue.add(task, priority); } }
private static void startAll(OperationThread[] operationThreads) { for (OperationThread thread : operationThreads) { thread.start(); } }
@Override public void runOrExecute(Operation op) { if (isRunAllowed(op)) { run(op); } else { execute(op); } }
@Override public void shutdown() { shutdownAll(partitionThreads); shutdownAll(genericThreads); awaitTermination(partitionThreads); awaitTermination(genericThreads); }
@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 static void shutdownAll(OperationThread[] operationThreads) { for (OperationThread thread : operationThreads) { thread.shutdown(); } }
@Override public int getPartitionThreadId(int partitionId) { return getPartitionThreadId(partitionId, partitionThreads.length); }
public final void shutdown() { shutdown = true; interrupt(); }
public OperationThread(String name, int threadId, OperationQueue queue, ILogger logger, NodeExtension nodeExtension, boolean priority, ClassLoader configClassLoader) { super(name); setContextClassLoader(configClassLoader); this.queue = queue; this.threadId = threadId; this.logger = logger; this.nodeExtension = nodeExtension; this.priority = priority; }
@Override public void runOrExecute(Operation op) { if (isRunAllowed(op)) { run(op); } else { execute(op); } }
private void execute(Object task, int partitionId, boolean priority) { if (partitionId < 0) { genericQueue.add(task, priority); } else { OperationThread partitionThread = partitionThreads[toPartitionThreadIndex(partitionId)]; partitionThread.queue.add(task, priority); } }
@Override public void shutdown() { shutdownAll(partitionThreads); shutdownAll(genericThreads); awaitTermination(partitionThreads); awaitTermination(genericThreads); }
@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 static void startAll(OperationThread[] operationThreads) { for (OperationThread thread : operationThreads) { thread.start(); } }
private static void shutdownAll(OperationThread[] operationThreads) { for (OperationThread thread : operationThreads) { thread.shutdown(); } }
@Override public int getPartitionThreadId(int partitionId) { return getPartitionThreadId(partitionId, partitionThreads.length); }
public final void shutdown() { shutdown = true; interrupt(); }
public OperationThread(String name, int threadId, OperationQueue queue, ILogger logger, NodeExtension nodeExtension, boolean priority, ClassLoader configClassLoader) { super(name); setContextClassLoader(configClassLoader); this.queue = queue; this.threadId = threadId; this.logger = logger; this.nodeExtension = nodeExtension; this.priority = priority; }