/**
* 需求:**實現多執行緒的生產者消費者模式
* 基本實現方法: 1.建立生產者類 2.建立消費者類 3.建立資源類 4.生產者不斷的建立資源 5.消費者不斷的消費資源
*/
class threadproducerandcustomer
} /**
* 資源類
*/
class resource
// 生產資源方法
public synchronized void prores() catch (interruptedexception e)
} count++;
system.out.println(thread.currentthread().getname() + " 生產了第 " + count
+ " 個 " + this.name);
// 生產完畢後更改是否已經生產的標識
flag = true;
// 喚醒執行緒池中的所有沉睡的執行緒
notifyall();
} // 消費資源的方法
public synchronized void cusres() catch (interruptedexception e)
} system.out.println(thread.currentthread().getname()
+ "----------消費了第----------- " + count + " 個 " + this.name);
// 消費資源後更改資源表示為false,並喚醒所有執行緒池中的沉睡執行緒進行爭搶生產
flag = false;
notifyall();
} }
/**
* 生產者類
*/
class producer implements runnable
public void run() catch (interruptedexception e)
} }
} /**
* 消費者類
*/
class customer implements runnable
public void run() catch (interruptedexception e)
} }
}
多執行緒 生產者消費者
這個就不多說了,直接上 include include using namespace std const unsigned short size of buffer 10 緩衝區長度 unsigned short productid 0 產品號 unsigned short consumeid 0...
多執行緒 生產者消費者模式(2)
現在用佇列來實現一次這個生產者和消費者模型,程式的主要思想如下圖。乙個全域性的佇列,乙個鎖,乙個訊號量,collectimages和sendimages執行緒訪問這個佇列的時候都加鎖。全部原始碼 created by honkee on 5 17 16.include include include...
java多執行緒生產者 消費者模式
1 生產者僅僅在倉儲未滿時候生產,倉滿則停止生產。2 消費者僅僅在倉儲有產品時候才能消費,倉空則等待。3 當消費者發現倉儲沒產品可消費時候會通知生產者生產。4 生產者在生產出可消費產品時候,應該通知等待的消費者去消費 使用object的wait notify 方法 1.wait 當快取區已滿 已空時...