title: Thread to pickup completely the job
body: <p>I have a requirement like this. I want one thread to pick up the complete job, and other thread shouldn't enter , but it should pickup some other job something like this.</p>
  
  <pre><code>List&lt;String&gt; userIds = getUserIds();
  for(String userId: userIds) {
      executorService.execute(new Runnable() {
         processUser(userId);
      });
  }
  </code></pre>
  
  <p>So, I want each thread to pickup one userId and that thread should perform complete processing 
  of one user. Other thread should not process for the userId picked up other thread, and also complete operation of one userId should be performed completely by one thread. How can i achieve this?</p>