I would like to share my own experience in solving this problem. I can feel your pain and confusion, but in reality, it's not overly hard to implement a working solution considering the vast array of options you have if you know what you are doing. Objective Implement a pool of buffers capable of performing two operations - acquire and release. The basic pooling strategy: acquire withdraws a buffe