I experimented with that, but it doesn't use more than one CPU core, so it's more of a proof of concept at the moment.
You could use it to make non-blocking user experience perhaps, but you could also do it using `while-no-input` or a library like deferred.el or my https://github.com/meedstrom/asyncloop.
Anyway, there is `make-process` for multicore work. Takes some boilerplate and studying, but no more than with threads.