Semaphore in a function

In reply to mseyunni:

You need to explain better why you need to use a semaphore for two functions to access a common resource. A function has no duration. The UVM is going to serialize the calls to the write methods anyways.