Most instructions take 1 clock cycles,
It would be possible to make a multiple pin pulseIn type call that would watch all of the pins you cared about for pulse start and end. It gets tricky to tune because you end up with a bunch of code paths to be timed and corrected.
Something which is not clear to me is whether or not the program will be stuck in the pulsein instruction (as it does with a while) all the time the pin is, let say, HIGH.
The reason why this is important to me is that I need to measure simultaneously the reception times of 4 ultrasonic transducers. Can I have 4 different pulseIn instructions corresponding to the 4 pins where the signals of the us transducers input to the board? And then the times I will get do they correspond to the individual times during which each pin has been HIGH or should I have to substract something?