Mikrocontroller und auch (PC-)Einkernprozessoren können systembedingt nie zwei Sachen völlig gleichzeitig machen.
Es wird immer ein Takt vorgegeben, der natürlich entsprechend schnell sein kann, dass zwei Dinge NAHEZU gleichzeitig ablaufen. Beim Arduino sind das i.d.R. 16 MHz, also grob gesagt ist der Controller in der Lage, 16.000.000 Einzelschritte pro Sekunde abzuarbeiten. Je nach Art der Einzelschritte werden aber einer oder mehrere Takte benötigt, um diesen Schritt auszuführen. Bei einer Funktion oder auch einem einfachen "Mehrzeiler" kann dies schon einige Takte in Anspruch nehmen. Es kommt jetzt darauf an, was genau Du machen willst und wie sehr dieses "zeitgleich" wirklich gemeint ist.
Je hardwarenäher man den ATMEGA programmiert, umso weniger Takte pro Befehl werden übrigens benötigt. Beispiel: Man verwendet nicht die Arduino-Layer-Funktion digitalWrite(), sondern schreibt direkt in die Register des µC.