Actually it is virtualization, which implies having multiple threads, among other things. And this is not even theorizing, this has been done already for example in phones, cars, airplanes etc. But this is just a note on the sideline :)
I had a look at various libraries, and the ones I'd call...