My initial guess is that you would have to queue the lower priority one, but what happens when for example 5 or many more requests happen at the same time? Are all these requests put in a queue or are they lost forever?
3 Answers
In most cases, interrupt requests are processed, in priority order. Typically this does not involve a queue, but instead, lower priority interrupts continue to be asserted until such time as they can be processed.
A typical example would be the interrupt controller in a PC. This traditionally has a number of inputs, each assigned a priority. The peripheral signals its request. This remains until the processor clears the interrupting condition.
When multiple interrupts are generated then the action/result depends upon the type of interrupt. In Level Triggered Interrupts multiple interrupts might still be valid till the time CPU processes one of the interrupt. In case of Edge Triggered Interrupt, there are chances of interrupt loss when multiple devices interrupt simultaneously. Now why multiple interrupts are better handled in case of Level Triggered Interrupt see here "Types of interrupts".
Interrupts have priority like when system off button clicked an interrupt appear which priority so high so this is called as soon as possible.
In case of many interrupts system should be slower to handle all interrupts according to priority.
If need more examples i can explain more easily.