golang生產者與消費者

2021-07-23 06:34:52 字數 669 閱讀 2610

使用golang可以很容易實現,生產者與消費者功能。

實現一:(只生產一定數量資料)

//寫入專用通道

//一次寫10條

func produce(p chan<- int)

}//消費專用通道

//一次只取10條

func consumer(c <-chan int)

}

呼叫:

ch := make(chan int)

//只生產和消費10條記錄

go produce(ch)

go consumer(ch)

實現二:(自動生產與消費)

//自動消費

func autoconsumer(ch <-chan int)

}}

呼叫:

ch := make(chan int)

//持續生產與消費, high起來

go func()

}()go autoconsumer(ch)

注意:為了保持主程序程不死掉,在main函式最下面加上這句。

for

祝好

生產者消費者 生產者與消費者模式

一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...

生產者與消費者

include include include include include include define size of buffer 10 int buffer size of buffer 緩衝陣列 int in 0,out 0 採用迴圈佇列方式進行陣列的訪問 宣告訊號量 sem t ful...

生產者與消費者

include include include include include include handle mutex 互斥訊號量 handle full 滿緩衝區訊號量計數 handle empty 空緩衝區訊號量計數 void producer 生產者函式 void consumer 消費者函...