it actually is, as long as your polling interval is deterministic and meets the requirements of your target application (polling interval < state change interval).
If you look at real hardware (or FPGAs) they will basically do polling: The input gets sampled at each clock cycle and will then get processed. And hardware is definitely realtime :)
The downside of polling is that you burn CPU resources when actually nothing happens. Interrupt driven designs help there.
> If you look at real hardware (or FPGAs) they will basically do polling: The input gets sampled at each clock cycle and will then get processed. And hardware is definitely realtime :)
Smiley noted; I think we can agree that "polling at 10s of MHz on an input pin" becomes something quite different than "polling at 10s of kHz on the other side of a USB link".
for the operating systems version of real time, i'd consider it polling to be real time. you ensure that part of your code will always take the same amount of time.
If you look at real hardware (or FPGAs) they will basically do polling: The input gets sampled at each clock cycle and will then get processed. And hardware is definitely realtime :)
The downside of polling is that you burn CPU resources when actually nothing happens. Interrupt driven designs help there.