A method for processing interrupts arising in a multithreaded processor, comprising the steps of: receiving in an interrupt register a plurality of interrupts, each of the plurality of interrupts corresponding to one of a plurality of external interrupts, wherein the external interrupts comprise randomly occurring general interrupts, wherein a respective bit of the interrupt register for each of the plurality of received interrupts is set indicating that a respective one of the plurality of interrupts is pending; associating a plurality of processing threads with one or more masks stored in a mask register, wherein the mask allows to individually mask off each of the plurality of external interrupts, wherein, if a particular bit is set in the mask, a corresponding interrupt of the external interrupts is enabled; determining (166, 168, 174) for each of the plurality of processing threads, that the processing thread can take one of the plurality of received interrupts if the processing thread has enabled interrupt processing and the processing thread is not an exception handler configured to handle internal exceptions; and determining at least a subset of said plurality of processing threads, wherein the step of determining said at least a subset of said plurality of processing threads comprises using the mask so as to receive within each of said threads within said subset only ones of said plurality of received interrupts of the enabled external interrupts, by using a logical AND of the content of said interrupt register with the content of said mask register, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with the particular thread. receiving in an interrupt register a plurality of interrupts, each of the plurality of interrupts corresponding to one of a plurality of external interrupts, wherein the external interrupts comprise randomly occurring general interrupts, wherein a respective bit of the interrupt register for each of the plurality of received interrupts is set indicating that a respective one of the plurality of interrupts is pending; associating a plurality of processing threads with one or more masks stored in a mask register, wherein the mask allows to individually mask off each of the plurality of external interrupts, wherein, if a particular bit is set in the mask, a corresponding interrupt of the external interrupts is enabled; determining (166, 168, 174) for each of the plurality of processing threads, that the processing thread can take one of the plurality of received interrupts if the processing thread has enabled interrupt processing and the processing thread is not an exception handler configured to handle internal exceptions; and determining at least a subset of said plurality of processing threads, wherein the step of determining said at least a subset of said plurality of processing threads comprises using the mask so as to receive within each of said threads within said subset only ones of said plurality of received interrupts of the enabled external interrupts, by using a logical AND of the content of said interrupt register with the content of said mask register, thereby controlling on a per thread basis the processing of said plurality of interrupts according to the mask associated with the particular thread.