title: looking for java concurrency model suggestion
body: <p>I'm using AMQP to queue multiple threads doing graph searches. The graph is not modified except on a regular interval by a separate thread. What's the best concurrency model to wait for all active searches to complete, block those threads, and allow the update thread to modify the graph before unblocking the search threads?</p>
  
  <p>I've been reading through <a href="http://docs.oracle.com/javase/tutorial/essential/concurrency/" rel="nofollow">http://docs.oracle.com/javase/tutorial/essential/concurrency/</a> but I can't seem to find anything that exactly fits my model.</p>
  
  <p>Any suggestions?</p>
  
  <p>thanks!</p>
  
  <p>edit: i'm using ExecutorService to handle the threads.</p>