1. A method of data processing, comprising: a processor of a data processing system executing a controlling thread among a plurality of threads of a program; the processor detecting occurrence of a particular asynchronous event during execution of the controlling thread of the program; providing status information to the controlling thread via an associated status and control register among a plurality of status and control registers each associated with a respective one of the plurality of threads; and in response to occurrence of the particular asynchronous event during execution of the controlling thread of the program: the processor initiating execution of an assist thread of the program such that the processor simultaneously executes the assist thread and controlling thread of the program; and the processor updating the associated status and control register of the controlling thread to identify to the controlling thread the particular asynchronous event for which the occurrence was detected and to indicate to the controlling thread that the assist thread is currently being executed in response to the occurrence of the particular asynchronous event.