執行緒5 生產者消費者模式(執行緒通訊)

2022-07-05 14:18:15 字數 907 閱讀 8015

package

com.thread.test;

/*** 1、生產者生產出產品,給商店(緩衝區)

2、商店把產品提供給消費者

* (1)需要三個角色,生產者,商店,消費者

* (2)涉及到多執行緒

* (3)涉及到執行緒安全

* (4)執行緒間通訊 */

class producer implements

runnable

@override

public

void

run()

catch

(interruptedexception e)

store.addproduct(thread.currentthread().getname());}}

}class

store catch

(interruptedexception e)

}else

}//消費

public

synchronized

void

reduceproduct(string name) catch

(interruptedexception e)

}else

}}class consumer implements

runnable

@override

public

void

run()

catch

(interruptedexception e)

store.reduceproduct(thread.currentthread().getname());}}

}public

class

生產者消費者模式

}

執行緒(六) 生產者消費者模式

為什麼要使用生產者消費者模式 什麼是生產者消費者模式 生產者消費模式是通過乙個容器來解決生產者和消費者的強耦合問題。生產者和消費這彼此之間不直接通訊,而通過阻塞佇列來進行通訊,所以生產者生產完資料之後不用等待消費者處理,直接扔給阻塞佇列,消費者不找生產者要資料,而是直接從阻塞佇列就相當於乙個緩衝區,...

多執行緒通訊(二)生產者 消費者模式

生產者 消費者模式其原理是基於wait notify實現的。通過 更能便於理解,廢話不多說,上 生成者和消費者一對一模式 生產者public class producer public void buildproduct 生產產品並通知消費者 thread.sleep 1000 system.out...

執行緒通訊 生產者 消費者模式

恢復內容開始 執行緒是作業系統中獨立的個體,但這些個體之間如果沒有特殊的處理就不能成為乙個整體。而執行緒間的通訊機制就是成為整體的必用方案。執行緒間的通訊會使系統的互動性更強,在提高cpu利用率的同時還會使程式設計師對各執行緒任務在處理的過程中進行有效的把控和監督。等待 通知機制 執行緒之間不是獨立...