class State {
 boolean a;
 boolean b;
 boolean c;
}
みたいな状態を表すオブジェクトがあって、aとbとcの値が満たされるまでブロックされるような仕組みが作りたいんだけど、Lockでちまちま作るしかないのかな?
aとbとcはそれぞれ別のスレッドから値が設定される。