@adi It really depends what u want to achieve, if you look at just thread pools , they are by themselves unusable in a larger scope, the key lies in how the scheduling is done when u hit a blocking part of code, this is where coroutines shine upto a particular level. Threads are only a problem when u start using blocking code like jdbc calls. This is where coroutines can help u limit the no of threads