Statements (52)
| Predicate | Object |
|---|---|
| gptkbp:instanceOf |
gptkb:Synchronization_primitive
|
| gptkbp:advantage |
Flexible
Efficient for certain problems Simple mechanism Widely supported |
| gptkbp:alternativeTo |
gptkb:event
gptkb:Barrier Condition variable Spinlock |
| gptkbp:canBe |
Blocking
Non-blocking |
| gptkbp:cause |
Starvation
Priority inversion |
| gptkbp:controls |
Access to shared resources
|
| gptkbp:hasProperty |
Atomicity
Non-negative integer value |
| gptkbp:hasType |
Binary semaphore
Counting semaphore |
| gptkbp:implementedIn |
gptkb:Java
gptkb:Python gptkb:POSIX gptkb:Windows_API gptkb:Linux |
| gptkbp:introduced |
gptkb:Edsger_Dijkstra
|
| gptkbp:introducedIn |
1965
|
| gptkbp:limitation |
Complexity in usage
Difficult debugging Potential for deadlock Potential for resource leaks Priority inversion risk |
| gptkbp:operator |
Signal (V)
Wait (P) |
| gptkbp:prevention |
Race conditions
|
| gptkbp:relatedTo |
gptkb:Producer-consumer_problem
gptkb:Readers-writers_problem gptkb:Deadlock Monitor Critical section Mutex |
| gptkbp:usedFor |
Controlling concurrency
Process synchronization Resource counting Thread synchronization |
| gptkbp:usedIn |
Computer science
Operating systems Concurrent programming Multithreading |
| gptkbp:bfsParent |
gptkb:CircleCI
gptkb:Travis_CI gptkb:Largs_Beach |
| gptkbp:bfsLayer |
6
|
| https://www.w3.org/2000/01/rdf-schema#label |
Semaphore
|