I have created a worker thread that "polls" a hardware device to determine if some data are ready. This worker thread is created with the lowest priority possible. When this worker thread is running (and it may be running all the time) the CPU cycles on the performance tab of the windows NT task manager is pegged at 100%.
I can't use a timer because the hardware can give data anywhere from .02 seconds to hours.
Is their another approach I can take or create the worker thead in a different manner that will not steal all the CPU cycles?