作業系統 吸菸者問題

2021-10-10 08:07:20 字數 1113 閱讀 3934

這次介紹的幾個ipc(inter-process communication)程序間的通訊問題,加上上篇部落格介紹的生產者-消費者問題及其變形,都是非常經典的ipc問題,在王道老師講解的時候,彈幕一片「秒啊」、「666」,這幾個問題的解決方案也著實讓人著迷,當我帶著懷疑去驗證時候,又有一種豁然開朗的感覺,這些都是單一程序問題所不曾有過的。

該問題本質上是「可生產多種產品的單生產者—多消費者」問題。

是否需要設定乙個專門的互斥訊號量呢?

並不需要,本題中的緩衝區大小為1,在任何時刻四個同步訊號量中最多只有乙個是1,在任何時刻只有乙個程序的p操作不會被阻塞,並順利地進入臨界區!

吸菸者問題的精華是如何實現「輪流讓各個吸菸者吸菸」,這裡我們的解決方案是使用乙個整形變數i來實現這個「輪流」過程的。出處:

個性簽名:罔談彼短,靡持己長。做乙個謙遜愛學的人!

吸菸者問題

吸菸者問題是作業系統中p v操作部分的經典同步問題,深刻理解吸菸者問題對我們學習作業系統有著很大的益處!1.問題描述 三個吸菸者在乙個房間內,還有乙個香菸 者。為了製造並抽掉香菸,每個吸菸者需要三樣東西 菸草 紙和火柴,者有豐富貨物提供。三個吸菸者中,第乙個有自己的菸草,第二個有自己的紙,第三個有自...

王道考研 吸菸者問題

假設乙個系統有三個抽菸者和乙個 者程序。每個抽菸者不停地捲菸並抽掉它,但是要捲起並抽掉一支煙,抽菸者需要有三種材料 菸草 紙和膠水。三個抽菸者中,第乙個擁有菸草 第二個擁有紙 第三個擁有膠水。者程序無限地提供三種材料,者每次將兩種材料放桌子上,擁有剩下那種材料的抽菸者卷一根煙並抽掉它,並給 者程序乙...

Coding 吸菸者模型

併發程式設計經典問題之吸菸者。本文簡單介紹了問題模型,並提供了一種 python3 的解決方式。問題模型 問題拓展 問題分析 talk is cheap,show me codefrom threading import thread,condition,lock,current thread fr...