Multithreading is one of the important features of Java programming language. A thread runs a task and thus multiple threads enable execution of multiple tasks concurrently in a Java application. Prior to Java 5,
Thread class was instantiated explicitly to create a thread. The thread pool implementation also was not provided by the API.