單生產者 單消費者

2021-09-29 21:07:10 字數 1276 閱讀 5053

父親生產蘋果,女兒消費蘋果,當盤子中沒有蘋果的時候父親生產,女兒只能等待,當盤子中有蘋果的還是父親等待女兒消費

package com.cc.day16;

public class demo01

}//定義乙個類,描述消費的產品

//定義公共的變數

public string name;

public int count = 1;

//flag主要作為wait和notify的判斷標記

public boolean flag = false;

}//生產者

class producer implements runnable

//定義生產的名字

public void produce(string name)

@override

public void run() catch (interruptedexception e)

}produce("蘋果");//一定得記得生產,不生產女兒吃什麼,不生產的話,名字就全部為null

system.out.println(thread.currentthread().getname()+"削好了"+a.name);

try catch (interruptedexception e)

a.flag=true;//改變標誌

}} } }

class consumer implements runnable

//定義消費的方法,返回蘋果的名字

public string consume()

@override

public void run() catch (interruptedexception e)

}system.out.println(thread.currentthread().getname()+"拿走了"+consume());

try catch (interruptedexception e)

a.flag=false;

}} }

}

【執行結果】

父親生產蘋果1

女兒消費了蘋果1

父親生產蘋果2

女兒消費了蘋果2

父親生產蘋果3

女兒消費了蘋果3

父親生產蘋果4

女兒消費了蘋果4

父親生產蘋果5

女兒消費了蘋果5

父親生產蘋果6

女兒消費了蘋果6

父親生產蘋果7

女兒消費了蘋果7

單生產者,單消費者

單個生產者和單個消費者 include include include include include include define buffer size 5 產品庫存大小 define product cnt 50 產品生產總數 struct product cons buffer void i...

執行緒 單生產者單消費者

單生產者單消費者 乙個生產線成乙個消費執行緒 乙個生產任務乙個消費任務 乙個產品 public class demo5 產品類class p catch interruptedexception e this.name name this.price price system.out.println...

生產者消費者問題之多生產者 單消費者模型

與單生產者和單消費者模型不同的是,多生產者 單消費者模型中可以允許多個生產者同時向產品庫中放入產品。所以除了保護產品庫在多個讀寫執行緒下互斥之外,還需要維護生產者放入產品的計數器,如下 include include include include include static const int ...