This package allows you to use regular Unity coroutines and move them from the main thread into a background thread pool and back again with simple yield statements.
It provides a task view window, which acts like the process viewer on your operating system, showing the state of each coroutine, if it is asleep, in the foreground or background and it's most recently yielded value.