Understanding Interrupts

will both the while loop and the function attached to the interrupt be carried out simultaneously

No. When the interrupt fires it the program will finish the current instruction, vector to the interrupt, run the interrupt code and then return to the program where it was before the interrupt. There can be no code running simultaneously.

Delay() should not be used in an interrupt service routine (nor serial communication) as interrupts are disabled while an ISR is executing.

If you need to sample at a regular and accurate interval polling would be a better choice, using the blink without delay method (see example in IDE. File, Examples, Digital).