org.amino.scheduler.internal
Class WorkStealingScheduler
java.lang.Object
   java.util.concurrent.AbstractExecutorService
java.util.concurrent.AbstractExecutorService
       org.amino.scheduler.internal.AbstractScheduler
org.amino.scheduler.internal.AbstractScheduler
           org.amino.scheduler.internal.WorkStealingScheduler
org.amino.scheduler.internal.WorkStealingScheduler
- All Implemented Interfaces: 
- java.util.concurrent.Executor, java.util.concurrent.ExecutorService, Scheduler
- public class WorkStealingScheduler 
- extends AbstractScheduler
Classes for a work stealing scheduler.
- Author:
- blainey
 
 
 
| Method Summary | 
| protected  void | addWork(java.lang.Runnable command)Submit a new work item.
 | 
| protected  java.util.List<java.lang.Runnable> | getOutstandingWork()
 | 
| protected  java.lang.Runnable | getWork(int id)Get work item identified by id.
 | 
 
| Methods inherited from class org.amino.scheduler.internal.AbstractScheduler | 
| awaitTermination, defaultNumberOfWorkers, execute, getRejectedExecutionHandler, isShutdown, isTerminated, numWorkers, setNumberOfWorkers, setRejectedExecutionHandler, shutdown, shutdownNow, signalNewWork, startWorkers, waitNewWork | 
 
| Methods inherited from class java.util.concurrent.AbstractExecutorService | 
| invokeAll, invokeAll, invokeAny, invokeAny, newTaskFor, newTaskFor, submit, submit, submit | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
| Methods inherited from interface java.util.concurrent.ExecutorService | 
| invokeAll, invokeAll, invokeAny, invokeAny, submit, submit, submit | 
 
WorkStealingScheduler
public WorkStealingScheduler()
WorkStealingScheduler
public WorkStealingScheduler(int numWorkers)
- Parameters:
- numWorkers- number of worker threads to create.
WorkStealingScheduler
public WorkStealingScheduler(int numWorkers,
                             boolean doRandom)
- Parameters:
- numWorkers- number of worker threads to create.
- doRandom- randomly select thread for stealing work.
addWork
protected void addWork(java.lang.Runnable command)
- Submit a new work item.
 
- 
- Specified by:
- addWorkin class- AbstractScheduler
 
- 
- Parameters:
- command- work item to run
 
getOutstandingWork
protected java.util.List<java.lang.Runnable> getOutstandingWork()
- 
 
- 
- Specified by:
- getOutstandingWorkin class- AbstractScheduler
 
- 
- Returns:
- List of remaining work items that have not yet finished running.
 
getWork
protected java.lang.Runnable getWork(int id)
- Get work item identified by id.
 
- 
- Specified by:
- getWorkin class- AbstractScheduler
 
- 
- Parameters:
- id- id for work item
- Returns:
- Runnable method
 
Copyright © 2008. All Rights Reserved.