生產消費模式

2021-07-05 03:30:01 字數 1068 閱讀 5808

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 可以換一瓶酒...