Timeline for Mutex vs Semaphore: How to implement them _not_ in terms of the other?
Current License: CC BY-SA 3.0
10 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Jun 16, 2020 at 10:01 | history | edited | CommunityBot | Commonmark migration | |
| Nov 1, 2018 at 14:17 | history | protected | gnat | ||
| Nov 1, 2018 at 12:35 | answer | added | l_belev | timeline score: 2 | |
| Jan 23, 2018 at 1:35 | history | tweeted | twitter.com/StackSoftEng/status/955614886104584192 | ||
| Dec 18, 2017 at 4:44 | vote | accept | Qqwy | ||
| Dec 16, 2017 at 23:49 | answer | added | user289860 | timeline score: 21 | |
| Sep 25, 2017 at 16:45 | comment | added | user251748 | Synchronization methods are based on CPU primitives that are guaranteed to be atomic, like InterlockedCompareExchange and TestAndSet. The most fundamental operation is to read the present value of a variable while also setting it, then check if the read value allows you to proceed or if you have to undo the operation. All the rest are details... | |
| Jan 16, 2017 at 15:49 | comment | added | Robert Harvey | I agree with Bruno. A Mutex is just a special case of Semaphore. There's no mutual recursion going on here, conceptual or otherwise. | |
| Jan 16, 2017 at 15:35 | comment | added | Bruno Guardia | I don't see how the definitions are "mutually recursive", it is just that Mutex is a particular case of Semaphore Semaphore - can notify any waiting thread Mutex - subset of Semaphore where the waiting thread is the same that called decrement operation You can find pseudocode implementations that match your requirement in Wikipedia... en.wikipedia.org/wiki/Semaphore_(programming) en.wikipedia.org/wiki/Dekker%27s_algorithm | |
| Jan 16, 2017 at 15:25 | history | asked | Qqwy | CC BY-SA 3.0 |