2
votes
Releasing queue memory without the MREW lock
The Delphi Geek
– I know how to implement a no-wait release in my dynamic queue if somehow the ABA problem gets solved. (I also had some ideas on how to solve the ABA problem if the head pointer never catches the tail one. But that’s still very much in the design phase.) Each block gets a header element (with a tagHeader tag). Each slot in the block uses the previously unused bytes (stuffing) to store its position (index) inside the block. [Header|0|1023] [Free|1|0] … [Free|1022|0] [EndOfList|1023|0] A number of all not-yet-released slots is stored in the header’s value field. The second part of the ...
Statistics
|
Visits by Source |
User Actions |




