Blocking property assertion

In reply to ben@SystemVerilog.us:

Thank you for a quick response Ben. I have investigated the attachments. I need to clarify that my problem is not related to the uniqueness of a thread. In your example, I understand, each push request must be followed by a pop notification, but one pop should not pass the all threads started by multiple push requests.

I desire something different. When one thread is on, I don’t want any later thread to be able to be spawned. Can you reread my post for more detail? I will try to attach a wavefrom if I can.

Also, I don’t get the use of first_match clearly. What we would expect if there is no first_match in your

property(p_data_unique)

Thanks in advance.