title: Play Framework: What happens when requests exceeds the available threads
body: <p>I have one thread in the thread-pool servicing blocking request. </p>
  
  <pre><code>  def sync = Action {
      import Contexts.blockingPool
      Future { 
          Thread.sleep(100)
      } 
      Ok("Done")
    }
  </code></pre>
  
  <p>In Contexts.blockingPool is configured as:</p>
  
  <pre><code>custom-pool {
      fork-join-executor {
              parallelism-min = 1
              parallelism-max = 1
      }
  }
  </code></pre>
  
  <p>In theory, if above request receives 100 simultaneous requests, the expected behaviour should be: 1 request should sleep(100) and rest of 99 requests should be rejected (or queued until timeout?). However I observed that extra worker threads are created to service rest of requests. I also observed that latency increases as (gets slower to service request) as number of threads in the pool gets smaller than the requests received. </p>
  
  <p>What is expected behavior if a request larger than configured thread-pool size is received? </p>