fix "semaphore" typo

This commit is contained in:
HustCoderHu 2018-03-03 15:34:26 +08:00
parent 4091a3aa54
commit acb3ab6ee6

View File

@ -259,7 +259,7 @@ shortest remaining time nextSRTN
### 3. 信号量 ### 3. 信号量
**信号量Samaphore** 是一个整型变量,可以对其执行 down 和 up 操作,也就是常见的 P 和 V 操作。 **信号量Semaphore** 是一个整型变量,可以对其执行 down 和 up 操作,也就是常见的 P 和 V 操作。
- **down** : 如果信号量大于 0 ,执行 -1 操作;如果信号量等于 0将进程睡眠等待信号量大于 0 - **down** : 如果信号量大于 0 ,执行 -1 操作;如果信号量等于 0将进程睡眠等待信号量大于 0
- **up**:对信号量执行 +1 操作,并且唤醒睡眠的进程,让进程完成 down 操作。 - **up**:对信号量执行 +1 操作,并且唤醒睡眠的进程,让进程完成 down 操作。
@ -269,8 +269,8 @@ down 和 up 操作需要被设计成原语,不可分割,通常的做法是
如果信号量的取值只能为 0 或者 1那么就成为了**互斥量Mutex**0 表示临界区已经加锁1 表示临界区解锁。 如果信号量的取值只能为 0 或者 1那么就成为了**互斥量Mutex**0 表示临界区已经加锁1 表示临界区解锁。
```c ```c
typedef int samaphore; typedef int semaphore;
samaphore mutex = 1; semaphore mutex = 1;
void P1() { void P1() {
down(mutex); down(mutex);
// 临界区 // 临界区
@ -292,10 +292,10 @@ void P2() {
```c ```c
#define N 100 #define N 100
typedef int samaphore; typedef int semaphore;
samaphore mutex = 1; semaphore mutex = 1;
samaphore empty = N; semaphore empty = N;
samaphore full = 0; semaphore full = 0;
void producer() { void producer() {
while(TRUE){ while(TRUE){