From dd5c10f766432048bb444b71fd4558cbd2fd8e66 Mon Sep 17 00:00:00 2001 From: sky <15010531295@163.com> Date: Tue, 11 Feb 2020 19:29:36 +0800 Subject: [PATCH] =?UTF-8?q?add=20Operating=20System=20=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E6=B6=88=E8=B4=B9=E8=80=85=E9=97=AE=E9=A2=98=E4=BC=AA=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 0 -> 6148 bytes Operating Systems.md | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..779267e822ee0820af7a0ed00b41994041c9536f GIT binary patch literal 6148 zcmeHK%Sr<=6g_DRwsun=pvzghso+|Kv3AgcFC6#UI#R`UM*2{?n~fhMevBXE2k5y; z7S42B2_hx8+?>45P40n78UU&_jdp+rfGS%2_`Q$d;gmSR zGy6w)z&1yt&L9)zH5a9hHqVO*y+X zNcIFxn?;0Uwqr(Z;sOCeTo%Up$i-PAufrGta}N<@vn_RVv)6G(y+kX?S=Q@w_aSD? zMRq?V7UW-g&&63~#xpYRsI=sN#CS0xYMAg>sC;=Z7o(>0+^3Q!+kF2bOUEhT6!^UYaz1!;LEmC(P#+yE^b>$sVYfEck$`}k0HWo2I|O0UlNo}Lcn8+4^pz$uVbplq5Ax&MQo-~U;X zYdHm+0t=;ps生产者-消费者问题 > 问题描述:使用一个缓冲区来存放数据,只有缓冲区没有满,生产者才可以写入数据;只有缓冲区不为空,消费者才可以读出数据 - +> +> ```c +> // 伪代码描述 +> // 定义信号量 full记录缓冲区物品数量 empty代表缓冲区空位数量 mutex为互斥量 +> semaphore full = 0, empty = n, mutex = 1; +> +> // 生产者进程 +> void producer(){ +> do{ +> P(empty); +> P(mutex); +> // 生产者进行生产 +> V(mutex); +> V(full); +> }while(1); +> } +> +> void consumer(){ +> do{ +> P(full); +> P(mutex); +> // 消费者进行消费 +> V(mutex); +> V(empty); +> }while(1); +> } +> +> ``` +> +> +> +>
哲学家就餐问题