いままで敬遠していた java.util.concurrent.* ですが、 ようやく初めて使ってみました。
ThreadPoolExecutor を作って execute(Runnable r) を呼ぶ、と。 スレッドの数も制御できて、簡単でいいですね。
RejectedExecutionExection は、 ThreadPoolExecutor.CallerRunsPolicy を使って解決。 多少遅くなっても処理はちゃんとやってほしいということで。 これは自前で書いたら大変だなぁと思います。実に便利。
雨の中、病院へ。
かなり混んでましたが、そんなに待たなかったような。
薬も変わらず。