tmp/tmpl0awdhil/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### General <a id="thread.sema.general">[[thread.sema.general]]</a>
|
| 2 |
+
|
| 3 |
+
Semaphores are lightweight synchronization primitives used to constrain
|
| 4 |
+
concurrent access to a shared resource. They are widely used to
|
| 5 |
+
implement other synchronization primitives and, whenever both are
|
| 6 |
+
applicable, can be more efficient than condition variables.
|
| 7 |
+
|
| 8 |
+
A counting semaphore is a semaphore object that models a non-negative
|
| 9 |
+
resource count. A binary semaphore is a semaphore object that has only
|
| 10 |
+
two states. A binary semaphore should be more efficient than the default
|
| 11 |
+
implementation of a counting semaphore with a unit resource count.
|
| 12 |
+
|