All Packages This Package Class Hierarchy Class Search Index
java.lang.Object | +----edu.utah.janos.nodeos.pj_ThreadPool
Summary |
final class pj_ThreadPool extends java.lang.Object implements java.lang.Runnable { // Fields 4 private final Object bufferQLock; private pj_BufferHandle bufferQueue; private boolean destroyed; private final pj_Flow flow; // Constructors 1 pj_ThreadPool(pj_Flow, pj_ThreadPoolSpec); // Methods 8 void addWork(pj_BufferHandle); pj_BufferHandle dequeueWorkItem(); void destroy(); boolean destroyed(); pj_Flow native_getFlow(); public void run(); void signalWorkers(); void threadStart(Runnable, String); }
NodeOS ThreadPool implementation in Java.
Cross Reference |
Fields |
· bufferQLock | Summary | Top |
private final Object bufferQLock
Lock protecting the queue of WorkItems.
· bufferQueue | Summary | Top |
private pj_BufferHandle bufferQueue
Queued buffers (waiting for a thread to handle them) are stored here.
· flow | Summary | Top |
private final pj_Flow flow
The flow this ThreadPool is associated with.
· destroyed | Summary | Top |
private boolean destroyed
Constructors |
· pj_ThreadPool | Summary | Top |
pj_ThreadPool(pj_Flow flow, pj_ThreadPoolSpec tpspec)
Create a new pj_ThreadPool.
The variousSchedulerParameters and scheduler parameters hardly even qualify as hacks.
Methods |
· threadStart | Summary | Top |
void threadStart(Runnable runnable, String name)
Create an explicit thread and return that thread handle. This is a new thread which is not subject to whatever concurrency limit the pj_ThreadPool has. But, it will be scheduled by the pj_ThreadPool's scheduler.
Parameter Description r the Runnable to start the target thread on.
· native_getFlow | Summary | Top |
pj_Flow native_getFlow()
Return the pj_Flow this ThreadPool is associated with.
· destroy | Summary | Top |
void destroy()
Destroy this pj_ThreadPool.
XXX this is a hack.
· destroyed | Summary | Top |
boolean destroyed()
· addWork | Summary | Top |
void addWork(pj_BufferHandle bh)
Add a Buffer to the pj_ThreadPool's Buffer list.
The buffer must not be on some other list (either an InChannel list, OutChannel list, or some bufferQueue).
· dequeueWorkItem | Summary | Top |
pj_BufferHandle dequeueWorkItem()
· signalWorkers | Summary | Top |
void signalWorkers()
· run | Summary | Top |
public void run()
Do the work on this pj_ThreadPool.
This function won't return until the ThreadPool is destroyed.
- Implements:
- run in interface Runnable
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7