迴圈緩衝區需要讀端和寫端2個指標來標定一塊buffer,寫端寫到buffer的邊界的時候,會跳到另一個邊界繼續寫,直到寫端指標和讀端指標重合,這個時候緩衝區FULL狀態,不可以再寫,讀端會一直讀資料直到和寫端指標重合,這個時候緩衝區為EMPTY狀態,不可以再讀。比如下面這段緩衝,儲存了數字資料,r和w分別是讀寫指標|-------------------------------------------|12345rw當讀了2個數據1和2,同時寫入了1個6的時候如下:|-------------------------------------------|3456rw當上面步驟一直到寫到buffer臨界區時候:|-------------------------------------------|890rw這個時候再寫5和9就是這樣:會迴圈到開頭繼續寫。|-------------------------------------------|98905wr這樣的迴圈緩衝對流stream的實現非常的實用,空間利用率很高
迴圈緩衝區需要讀端和寫端2個指標來標定一塊buffer,寫端寫到buffer的邊界的時候,會跳到另一個邊界繼續寫,直到寫端指標和讀端指標重合,這個時候緩衝區FULL狀態,不可以再寫,讀端會一直讀資料直到和寫端指標重合,這個時候緩衝區為EMPTY狀態,不可以再讀。比如下面這段緩衝,儲存了數字資料,r和w分別是讀寫指標|-------------------------------------------|12345rw當讀了2個數據1和2,同時寫入了1個6的時候如下:|-------------------------------------------|3456rw當上面步驟一直到寫到buffer臨界區時候:|-------------------------------------------|890rw這個時候再寫5和9就是這樣:會迴圈到開頭繼續寫。|-------------------------------------------|98905wr這樣的迴圈緩衝對流stream的實現非常的實用,空間利用率很高