title: Executors.newFixedThreadPool() - how expensive is this operation
body: <p>I have a requirement where i need to process some tasks for <strong>current live shows</strong>.
  This is a scheduled tasks and runs every minute.</p>
  
  <p><em>At any given minute, there can be any number of live shows</em>(though number cannot be that large, <strong>approx max 10</strong>). <strong>There are more than 20 functionalities needs to be done for all the live shows. or say 20 worker classes are there , all are doing there job</strong>.</p>
  
  <p><em>Let say for first functionality, there are 5 shows, then after few minutes shows reduced to 2, then again after few minutes shows increase to 7</em>.</p>
  
  <p>Currently i am doing something like this,</p>
  
  <pre><code>int totalShowsCount = getCurrentShowsCount();
  ExecutorService executor = Executors.newFixedThreadPool(showIds.size());
  </code></pre>
  
  <p>The above statements gets executed every minute.</p>
  
  <p><strong>Problem Statement</strong></p>
  
  <p>1.) How much expensive the above operation be..??. Creating fixedThreadPool at every given minute.</p>
  
  <p>2.) What can i do to optimize my solution, should i use a fixed thread pool, say (10), and maybe 3 or 5 or 6 or any number of threads getting utilized at any given minute.</p>
  
  <blockquote>
    <p>Can i create a fixed thread pool at worker level, and maintain it and
    utilize that.</p>
  </blockquote>
  
  <p>FYI, using Java8, if any better approach is available.</p>