title: Java Executor and Long-lived Threads
body: <p>I've inherited some code that uses Executors.newFixedThreadPool(4); to run the 4 long-lived threads that do all the work of the application.</p>
  
  <p>Is this recommended?  I've read the <a href="https://rads.stackoverflow.com/amzn/click/com/0321349601" rel="nofollow noreferrer" rel="nofollow noreferrer">Java Concurrency in Practice</a> book and there does not seem to be much guidance around how to manage long-lived application threads.</p>
  
  <p>What is the recommended way to start and manage several threads that each live for the entire live of the application?</p>