برای پروژه های کوچک، ساختن Thread بصورت مستقیم بدلیل اینکه مدیریت بالایی برروی Thread های ایجاد شده نیاز نیست خوب جواب می دهد ولی برای پروژه های بزرگ جداسازی مدیریت و ایجاد Thread ها از سایر قسمت های برنامه ضروری است (برای مدیریت بهتر Thread ها و تولید کد خواناتر)، رابط Executor و رابط های مرتبط با آن (ScheduledExecutorService و ExecutorService) این کار را به راحتی برای ما انجام می دهد و کنترل ما برروی Thread های ایجاد شده را بالا می برند و همچنین در مواردی سرعت اجرای برنامه را نیز بیشتر می کنند (Thread Pools).