package com.phone.week5.day3;
/**
* 有乙個倉庫放字元的,它有乙個生產字元的方法,也有乙個拿字元的方法(倉庫裡只能有乙個字元)
* 有乙個生產者,可以呼叫倉庫裡生產字元的方法
* 有乙個消費者,可以呼叫倉庫裡拿字元的方法
* 兩個人不能同時生產或拿
*1.建立乙個共享資源類
*2.建立生產者
*3.建立消費者
*5.測試
* */
public class test //生產者類
class pro extends thread
@override
public void run() catch (interruptedexception e)
sd.pushdate(c);
} }
}//消費者類
class custor extends thread
@override
public void run() catch (interruptedexception e)
c=sd.getdata();
}while(c!='d');
}
//資源類
class sharedate catch (interruptedexception e)
}this.c = c; //生產字元
flag = true; //表示通過消費者來消費
this.notify();
system.out.println("生產者已經生產完字元:"+c+"請消費者來消費");
}//拿字元的方法
public synchronized char getdata() catch (interruptedexception e)
}this.notify();
flag = false;
system.out.println("消費者已經拿到字元:"+c+"請生產者來生產");
return c;
}
生產消費模式
生產者producer 生產某個物件 共享資源 放在緩衝池中,然後消費者從緩衝池中取出這個物件。也就是生產者生產乙個,消費者取出乙個。這樣進行迴圈。生產者 class producer implements runnable override public void run catch interr...
後台索引生產 消費模式
這是種模式在現實生活中的例子很多 郵局寄信 生產者 你,消費者 投遞員,任務列表 郵筒 你寫信然後扔到郵筒中去,給任務列表中新增了乙個任務。投遞員取走有郵筒裡的信,消費掉任務列表裡的乙個任務。郵局這樣做的好處在於 1.解耦 你不必去認識投遞員,萬一認識的那個投遞員不幹了,你又要重新認識乙個投遞員。2...
java 生產消費者模式 一
需求 一瓶酒兩元,兩個瓶子換一瓶酒,四個瓶蓋換一瓶酒,那麼買100瓶酒最少需要多少錢!實現方法有很多種,這裡我採用最簡單的synchronized 同步實現 瓶子和瓶蓋換酒有四種可能 1 瓶子 2 並且 蓋子 4 可以一次換兩瓶酒,換完後,會多兩個瓶子和瓶蓋 2 瓶子 2 且 蓋子 4 可以換一瓶酒...