* Textbook implementations of doubly-linked lists store one datum * per link, but that gives them a 200% memory overhead (a prev and * next link for each datum) and it costs one malloc() call per data * element. By using fixed-length blocks, the link to data ratio is * significantl...
Both headandtail are permittedtolag.In fact,failingtoupdate them every time one couldisa significantoptimization(fewer CASes).As withLinkedTransferQueue(see theinternaldocumentationforthatclass),we use a slack threshold of two;thatis,we update head/tailwhenthe current pointer appearstobe twoormore ste...