Port usage problem

Hi All,
I created a tlm analysis fifo in the class. In the class, there are two tasks which call tlm’s peek() function at the same time. Do I need a semaphore when two tasks call peek function at the time?
Thank you

In reply to peter:

Why would you not use get() or try_get()?

In reply to dave_59:

I have two tasks. They will see whether if the data is suitable to pop.
Finally I do not use a semaphore, it can work.