it's _still_ essentially the same switch(opcode) based interpreter it was 20 years ago. no threading, no super instructions, no jitting, nothing.
https://github.com/python/cpython/blob/master/Python/ceval.c...
https://github.com/python/cpython/blob/master/Python/ceval.c...
CPython does use threads (on Linux, it spawns one pthread per Python thread). However it also has a lock (the infamous GIL) that prevents those threads from interpreting Python code simultaneously.
It's an interpreter implementation technique.