In programming, you ideally have a queue / FIFO of work tasks. Or, if things are more dynamic, a priority queue.
If interrupts are necessary, you get a stack of tasks. It is much slower because context switches eat time.
I had a job with a data structure I called a compost heap. One started with the thing on the top. While one was at it, another more urgent thing would be thrown on the top, and one had to start working on it. Rinse and repeat. One never could really finish anything, and the things deeper down the heap started to rot. After a few years, the stack depth would be like 40 or 50 items. I made an appointment with my new manager to talk about prioritising things and the result was he put a new, urgent task on the stack.
They got angry when I handed in my notice.