In reply to NiLu:
uvm_event is better, but you can still get into the same trouble if not used correctly. uvm_event can be used like a simplified TLM fifo with only one entry. Unless you are going to use uvm_event heavily, it might be better to stick with TLM communication as it provides more safeguards.