The newSingleThreadExecutor() method of Executors class creates an Executor that uses a single worker thread operating off an unbounded queue . (Note however that if this single thread terminates due to a failure during execution before the shutdown, a new one will take its place if needed to execute subsequent tasks.).