Uvm_tlm_fifo - (how) does it guarantee deterministic simulations?

In reply to dave_59:

I am confused. I think to understand:

If I were to add a uvm_*_port or analyis_port to any of my modules or classes, and connect a uvm tlm fifo to that port to communicate to another thread I am having a chance of non deterministic behavior?
The problem is only fixed for the (implicit) tlm fifo’s used in the sequence context?

Is that correct?