S2Async
まさたかさんのところでふれられていたので、S2Asyncの構想を
書いてみます。
下記のMyEventListenerは非同期実行の結果を受け取るクラスです。
非同期実行が成功した場合には、onResultの引数に結果が渡されます。
引数の型は結果の型に合わせます。
例外が発生した場合は、onFaultの引数に例外が渡されます。
非同期実行のターゲット
class MyEventLister {
void onResult(String result) {
System.out.println(result);
}
void onFault(Throwable t) {
t.printStackTrace();
}
}
class Hello {
String greeting() {
return "Hello";
}
}
これで、Hello.greeting()を呼び出すと非同期にThreadPoolで実行されて
this.addEventListener(new MyEventListener())
MyEventListenerに結果が返されます。
どこかで見たパターンだと思う人もいるかもしれません。
そう、Flash Remotingと同じやり方です。