Si analizamos con cuidado lo que hace un programa paralelo para ejecutar sus procesos en un entorno monoprocesador, podremos emular su funcionamiento para hacer algo parecido con cualquier lenguaje secuencial. En pseudo-concurrencia, el procesador ejecuta durante un cierto intervalo de tiempo un proceso y cuando acaba, hace lo mismo con el siguiente de una cola de procesos que esperan a ser ejecutados. Como los intervalos de tiempo son suficientemente peque nos, se da la sensaci'on de que todos los procesos corren simult'aneamente, pero 'esto s'olo es posible si existen tantos procesadores como procesos.
Usando un lenguaje de programaci'on secuencial podemos hacer algo parecido. En lugar de descomponer el trabajo a realizar en subtareas y lanzarlas como procesos independientes, podemos dedicar un peque no intervalo de CPU a cada subtarea, si evitamos la introducci'on de bucles en las subtareas. Lo que haremos es usar un bucle global, que lance sucesivamente a cada una de las tareas a ejecutar. A cada iteraci'on de este bucle la llamaremos iteraci'on de simulaci'on.