
Alexander Terekhov <terekhov@web.de> writes:
Anthony Williams wrote: [...]
He claims that the second A: lock takes the slow path, when it could have taken the fast path because the lock is free. I disagree. The lock is NOT free, since B is waiting on it. If A can take the fast path here, that's opening the door for B to be starved.
That's not a problem as long what we need is efficient low level exclusive lock. If starvation is a problem, one can solve it with custom scheduling monitor on top of "grab if you can" low level exclusive lock without handoff. Low level, all pigs are equal. ;-)
So let them compete equally. If A doesn't wait on the semaphore, it has an unfair advantage. Anthony -- Anthony Williams Software Developer Just Software Solutions Ltd http://www.justsoftwaresolutions.co.uk