Queue and Semaphore in System Verilog
A mailbox is a built-in class around a queue that uses semaphores to control access to the ends of a queue. A mailbox only has FIFO element ordering whereas you can access the head, tail, or middle elements of a queue. … However, if there is more than one thread, a mailbox is a convenient class to use.