Uvm_do_on running sequence on multiple sequencers directly

Which sequencer would the following sequence object run on when used `uvm_do_on . If not, please justify?

for (int i=0; i<3; i++) begin
            `uvm_do_on(sequence, sequencer[i]);
end

My expectation is that it can cause issues because the m_sequencer handle would have problems in pointing to the correct sequencer to run usinf uvm_do_on API in 0 time . checking if the understanding is correct.
Thank you for your time.

Without understanding how the `uvm_do_* macros are implemented, you are likely to get different results from what you expect.

This is one reason that we don’t recommend using the `uvm_do_* macros. Instead, you should explicitly use the create()/start() calls so that you can ensure you get the functionality you desire.

Thanks for the response @cgales .
I understand that create_item()/ start() APIs are recommended for starting sequences on sequencers .
I am just curious to know if there would be any issue with sequence running or picking a sequencer or it would lead to non-determinism in the simulation.
Asking as this one of the interview question!
Appreciate your time.
Thanks

I’m not sure what the results would be since I never use the macros. I recommend that you look at the source code and determine what the resulting code would be and how it would simulate.