Parameter changes and the storage of them are handled by the Controller thread.
MIDI event processing and sound reproduction happens in the Processor thread.
You can think of these threads like two segments of code that are exectued in concurrency by HALion. Basically, the two threads are needed to split long lasting function calls from timing critical function calls that need to stay responsive. Therefore, the functions that are called in the controller thread are executed only as required, while the functions that are called in the processor thread are executed within the ASIO block.
On this page:
The information if a function can be called in the controller, the processor or in both threads, can be found in the Reference below the description of each function. It looks lik this: