interface ReplyCallback void requestCompleted(...) void requestFailed(...) interface Server void request(..., ReplyCallback notify, ...)
class ClientCallback implements ReplyCallback volatile boolean done = false, succeeded = true void requestCompleted(...) done = true void requestFailed(...) done = true ; succeeded = false class Client implements Runnable void run() MyCallback mcb = new MyCallback() server.request(..., mcb) while (!mcb.done) do some work if mcb.succeeded class Server implements Server void request(..., ReplyCallback rcb) do the request if success rcb.requestCompleted else rcb.requestFailed
t.
join()
call blocks the caller until
t.isAlive()
is false.
class Future private sema valueReady(0) private Object value void putValue(Object o) value = o valueReady.signal() Object getValue(Object o) valueReady.wait() return value
class FutureResult private final future results object get() return results.getValue() Runnable setter(Runnable function) return new Runnable() result.put(function.run())
This page last modified on 29 July 2003.