title: Do we need to call awaitTermination on ScheduledExecutorService?
body: <p>I am new to Java multithreading. I have thousands of scheduled tasks/threads that I need to be executed. I am using the following code:</p>
  <pre><code>ScheduledExecutorSerivce scheduleService = Executors.newScheduledThreadPool(90);
  Map&lt;Interger,Interger&gt; loginMap = new HashMap&lt;&gt;();//contain login time of scheduled threads
  for(int i = 0; i &lt; taskCount ; i++) {
    scheduleService.schedule(new MyCallableWorker(),loginMap.get(i),TimeUnit.SECONDS)
  }
  scheduleService.shutdown();
  //do I need to call the following because I dont know any timeout value or above shutDown() is enough
  while(!scheduleService.isTerminated()) {
  }
  </code></pre>
  <p>Also please let me know what should be the ideal count for thread pool. I have set as 90 but I want pool which can grow as needed but looks like ScheduleExecutorService has no such API.</p>