Well your stackful coroutine stack is backed up by virtual memory much like a thread. You can have thousands of threads on Linux without any trouble and Linux's scheduler is O(1). However, it is complex to make an event loop threadsafe, that is true.
Please look at <https://github.com/guzba/mummy> and see what threads can accomplish. ;-)