使用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 消費者函...