Brooklyn

brooklyn.util.task
[Java] Class SingleThreadedScheduler

java.lang.Object
  brooklyn.util.task.SingleThreadedScheduler
All Implemented Interfaces:
CanSetName, TaskScheduler

public class SingleThreadedScheduler

Instances of this class ensures that Tasks execute with in-order single-threaded semantics. Tasks can be presented through submit(Callable). The order of execution is the sumbission order.

This implementation does so by blocking on a java.util.concurrent.ConcurrentLinkedQueue, after the task is started in a thread (and Task#isBegun()#isBegun() returns true), but (of course) before the TaskInternal#getJob()#getJob() actually gets invoked.


Method Summary
void injectExecutor(java.util.concurrent.ExecutorService executor)

void setName(java.lang.String name)

java.util.concurrent.Future submit(java.util.concurrent.Callable c)

java.lang.String toString()

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Method Detail

injectExecutor

@Override
public void injectExecutor(java.util.concurrent.ExecutorService executor)


setName

@Override
public void setName(java.lang.String name)


submit

@Override
public java.util.concurrent.Future submit(java.util.concurrent.Callable c)


toString

@Override
public java.lang.String toString()


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.