In reply to Tudor Timi:
Basically, I find that the response handler is the easiest way to decouple response handling from sequence item sending so that they each run in their own thread. Sure, you could accomplish the same thing with fork/join and get_response(), but the response handler is easier and cleaner.
You will want to do this if you don’t want to stop sending sequence items while responses are pending. Also, as Dave mentioned, if there is not a one-to-one correspondence between responses and sequence items.
If your use case is a very straightforward send item, get response before sending next item; then using a single thread with get_response() will be simpler and sufficient. However, I have yet to come across a case where I did not use the response handler.