1. A method of managing a reset of a first thread of a plurality of threads executed in an integrated circuit (IC) device, the method comprising: initiating a thread reset process for the first thread in response to detecting a reset request for the first thread, the thread reset process comprising de-allocating hardware resources of a controller that are allocated to the first thread, returning a specified value from the controller to a processor core of the IC device in response to a first command intended for the first thread, and dropping responses intended for the first thread from other devices; completing the thread reset process in response to determining that all expected responses intended for the first thread have been either received or dropped; and continuing to issue requests to other devices in response to commands from other threads of the plurality of threads and processing corresponding responses during the thread reset process.