Polling or Interrupt based method

Karthik Balaguru picture Karthik Balaguru · Jun 18, 2010 · Viewed 47.7k times · Source

When should one use polling method and when should one use interrupt based method ? Are there scenarios in which both can be used ?

Answer

Amardeep AC9MF picture Amardeep AC9MF · Jun 18, 2010

If the event of interest is:

  1. Asynchronous
  2. Urgent
  3. Infrequent

then an interrupt based handler would make sense.

If the event of interest is:

  1. Synchronous (i.e. you know when to expect it within a small window)
  2. Not Urgent (i.e. a slow polling interval has no ill effects)
  3. Frequent (i.e. majority of your polling cycles create a 'hit')

then polling might be a better fit.

Other considerations include whether you are writing a device driver for an OS or just writing bare metal code with no thread support. In bare metal situations the CPU is often just looping when it isn't busy so it might as well be polling something.