In Grails 2 I used the Executor plugin to perform multi-threading operations in services and it worked very well. Like most Grails plugins it hasn't been ported over to Grails 3 yet. The GPars library is/was another option for multi-threading, but with Codehaus shutdown I am reluctant to use it.
What is the recommended approach to multi-threading in Grails 3?