Software for Good Logo
Insights / March 7, 2016

Mind your IRQ

By Casey Helbling

This weekend I was working through some especially painful asynchronous Reactive Java/Android API processing. I battled all the standard things when dealing with threads like when to properly synchronize, how to properly callback, and when to interrupt. I weighed the tradeoffs and in the end I built a system that had fewer interrupts. The cost of breaking from the existing program flow and restarting ended up being too much.

Interrupts are a great way to get critical work done immediately. But use them sparingly … the cost to shuffle frames or restart work is very expensive.