title: synchronized block - lock more than one object
body: <p>I'm modelling a game where multiple players (threads) move at the same time.
  The information of where a player is located at the moment is stored twice: the player has a variable "hostField" that references to a field on the board and every field has an ArrayList storing the players that are currently located at this field.</p>
  
  <p>I'm not very happy with the fact that I have redundant information, but I found no way avoiding that without looping through a big dataset.</p>
  
  <p>However, when a player moves from one field to another, I'd like to make sure (1) the redundant information stays linked (2) nobody else is manipulating the field at the moment.</p>
  
  <p>Therefore I need to do something like</p>
  
  <pre><code>synchronized(player, field) {
      // code
  }
  </code></pre>
  
  <p>Which is not possible, right?</p>
  
  <p>What should I do? :)</p>