Frequency counting max 60Hz

pylon:
As the web page says something about a reed contact I'd guess that you simply have two wires which are connected in case of a pulse (so once per turn).
If you connect the signal to the external interrupt (pin 2 or 3) you can measure the time between two pulses and get a relatively exact value without waiting for a minute.

I was thinking something like:

main program:
counter = 0;
sleep 5 seconds;
freq = counter / 5;

interrupt method:
counter ++;

Will this work? Will the 5seconds of sleep be actual 5 seconds? Or the [(max) 50Hz x 5seconds = ] 250 interrupts cause that sleep take longer than 5seconds and then the reading will not be accurate?