Is coroutines are better than multithreading?

I have a few years of Java experience but new to Kotlin. The company I work for is mostly developing with Spring MVC.

I need to write APIs and most of APIs are like /api/doJob1, /api/doJob2 and each job takes very long hours to complete and involves parallel execution of smaller tasks.

First I thought of using thread pools (TaskExecutorPool, CompletableFuture, etc) and fork/join but I heard coroutines are better than thread, and I really like Kotlin syntax.

Do you think coroutines are better suited for this kind of task?

submitted by /u/Apprehensive-Hour388
[link] [comments]