en teoría no son de forma simultanea, sino de que el programa crea como que varios contextos y los opera pasando de una operación a otra sin necesidad de terminar la misma operación, logrando así realizar múltiples tareas de una forma mas optima).
Ahora tenemos multithreading real. Un micro de cuatro núcleos puede ejecutar cuatro hilos REALES en paralelo. Simultáneamente. Obviamente, en el administrador de tareas puedes ver que hay muchos más de cuatro procesos (y cada uno puede tener varios hilos), así que se sigue recurriendo a la vieja treta de compartir los núcleos.
Fallos aleatorios, lloros y frases como "el lenguaje de programación esta mal", ect, etc...