| 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorc.runtime.Kilim
public final class Kilim
Utility methods for Kilim.
| Nested Class Summary | |
|---|---|
static class | 
Kilim.PausableCallable<V>
Pausable computation which returns a value.  | 
static class | 
Kilim.Promise<V>
Wrap a callable in a lazy, concurrency-safe promise.  | 
| Field Summary | |
|---|---|
static java.lang.Object | 
signal
Kilim mailboxes can't accomodate null values, so this acts as a basic signal or unit value when necessary.  | 
| Constructor Summary | |
|---|---|
Kilim()
 | 
|
| Method Summary | ||
|---|---|---|
static void | 
exit()
 | 
|
static void | 
runPausable(Token caller,
            Kilim.PausableCallable<? extends java.lang.Object> thunk)
Utility method to run a pausable computation which generates a value for a token.  | 
|
static
 | 
runThreaded(java.util.concurrent.Callable<V> thunk)
Spawn a thread to compute a value.  | 
|
static void | 
runThreaded(java.lang.Runnable thunk)
Spawn a thread asynchronously.  | 
|
static
 | 
runThreaded(Token caller,
            java.util.concurrent.Callable<V> thunk)
Spawn a thread to compute a value for a token.  | 
|
static void | 
startEngine(int kilimThreads,
            int siteThreads)
Initialize Kilim state for a new job.  | 
|
static void | 
stopEngine()
Shutdown Kilim threads created for the current job.  | 
|
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final java.lang.Object signal
| Constructor Detail | 
|---|
public Kilim()
| Method Detail | 
|---|
public static void startEngine(int kilimThreads,
                               int siteThreads)
public static void stopEngine()
public static <V> V runThreaded(java.util.concurrent.Callable<V> thunk)
                     throws kilim.Pausable,
                            java.lang.Exception
FIXME: I ran into about 5 different weird Kilim bugs trying to write this function; the current structure is not ideal but it was the only one which worked.
kilim.Pausable
java.lang.Exception
public static <V> void runThreaded(Token caller,
                                   java.util.concurrent.Callable<V> thunk)
runThreaded(Callable)
public static void runThreaded(java.lang.Runnable thunk)
                        throws kilim.Pausable
runThreaded(Callable).
 The point of this over new Thread() { ... }.start() is
 that this uses a thread pool.
thunk - 
kilim.Pausable
public static void runPausable(Token caller,
                               Kilim.PausableCallable<? extends java.lang.Object> thunk)
caller - token to return the value tothunk - computation returning a value
public static void exit()
                 throws kilim.Pausable
kilim.Pausable
  | 
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||