title: Understanding java.lang.Thread.State: WAITING (parking)
body: <p>First, a really dumb question, I was just wondering what the waiting 'parking' means ? Is the thread waiting to be parked or is it just been parked and therefore is in wait state ? And when that parking happen, how much cpu/memory resources are taken ? What's the purpose of parking a thread ?</p>
  <p>Second, by looking at park method in <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/locks/LockSupport.html#park%28%29" rel="noreferrer">java thread API</a></p>
  <blockquote>
  <p>Disables the current thread for thread scheduling purposes unless the permit is available.</p>
  <p>If the permit is available then it is consumed and the call returns immediately; otherwise the current thread becomes disabled for thread scheduling purposes and lies dormant until one of three things happens.....</p>
  </blockquote>
  <p>English is not my primary language, so I have some difficulties understanding that, I intended 'permit' as kind of 'permission to park the thread', so the questions that follow:</p>
  <ul>
  <li>what's the meaning of that, what's 'permit', and who and how is checking those permit ?</li>
  <li>What does that mean: 'if permit is available then it is consumed', is it getting 'parked' ?</li>
  <li>following, if second point is true, so what's the difference between 'parking' and 'lies dormant' ? If I have permit I can park it forever and if not, I can make it 'dormant' ?</li>
  </ul>
  <p>Thanks</p>