Explain the differences between various background processing mechanisms on your platform and when to use each.