2009-10-01から1ヶ月間の記事一覧

ダウンロードしながらメモリースティックに書き込む処理を非同期でやってみた

環境は DoJa-5.0。リソースのダウンロードと書き込みを別々でやってたら無駄じゃね?とか思ってやってみた。 ちょっといじればいろいろなことに使えるはず。もう少し汎用化できるなら再利用できるクラスにしてもいいような気はする。 各スレッドでのデータの…

非同期でデータをやりとりする用の有限キューを作ってみた

public final class FiniteBufferQueue { int first; int size; final byte[][] bufs; public FiniteBufferQueue(int size) { bufs = new byte[size][]; } public synchronized void push(byte[] buf) throws InterruptedException { push(buf, 0, buf.lengt…

非同期でやりとりを行うための Future クラスを作ってみた

インターフェースは C++0x で追加されるものを参考にして、実装は Future パターンまんまです。 public final class FutureException extends Exception { private Exception inner; FutureException(Exception inner) { this.inner = inner; } FutureExcept…

Java で Boost.Coroutine 的なクラスを作ってみた

以前に BREW で Boost.Coroutine を使えるようにした関係で、それを Java に移植するのが難しくなってしまったので、Java で Coroutine っぽく使えるようなクラスを作ってみました。 当然スタック切り替えなんてできるわけが無いので、内部的にはスレッドを…