色々と悩み中

1. メソッド呼び出しを非同期に行いたい
という用途では、java.util.concurrent.ExecutorService を使うのが良いんだけど、
2. 同一オブジェクトのメソッドを複数スレッドが同時に呼び出さないようにしたい
という制約をつけると、途端に難しくなる気がする。
ExecutorService を使うなら synchronized でブロックするのは愚かだし、さてどうしようか……