title: MultiThreading Vs ThreadPoolExecutor
body: <p>I have used multithreading in many of applications I wrote . While reading more I came across <code>ThreadPoolExecutors</code>. I couldn't not differentiate between the two scenario wise . </p>
  
  <p>Still what I understand is I should use multithreading when I have a task I want to divide a task in to multiple small tasks to utilize CPU and do the work faster . And use <code>ThreadPoolExecutor</code> when I have a set to tasks and each task can be run independent of each other.</p>
  
  <p>Please correct me if I am wrong . Thanks</p>