Wie kann man ein Sub Programm und eine Funtion gleichzeitig ausführen?
Dein PC kann auch nicht mehrere Aufgaben gleichzeitig ausführen. Der arbeitet auch alle Programmbefehle nacheinander ab, da sorgt nur das Betriebssystem dafür, dass ständig zwischen den einzelnen Tasks gewechselt wird und es wie echtes Multitasking aussieht.

Dein AVR ist so schnell, dass du mit blossem Auge ganz sicher nicht feststellen wirst, wenn die LEDs nacheinander geschaltet und zwischendurch noch ein paar Sensoren abgefragt werden.

Dass du im deinem Programm selber dafür sorgen musst, dass die einzelnen Aufgaben schnell genug nacheinander ausgeführt werden, mag etwas lästig erscheinen, ist aber eigentlich meist sogar einfacher.

Bei Mutitasking und Multithreading ist es oft ganz schön kompliziert die einzelnen Threads und Tasks zu synchronisieren.
Wenn ein Thread schon auf das Messergebnis reagieren würde, bevor der andere Thread überhaupt gemessen hat, wäre das ja auch nicht so toll.