主权项 |
1. A computer-implemented method for pushing a first element on to an N-way linked list in a computer memory, the N-way linked list for storing a plurality of elements, and having N linked sub-lists, a list order, and a handle, the handle having a sub-list tail handle for each of the sub-lists, each sub-list tail handle identifying a location of a tail of element of the respective sub-list or a maker indicating that the sub-list is empty, each element being in one of the N sub-lists and including a pointer to a next sequential element in a same sub-list, comprising:
storing the first element in the memory and setting a next sequential element pointer of the first element to an unknown location marker; performing an atomic memory operation to:
determine which particular sub-list includes the tail element of the list,swap a location of the first element with a location of the tail element in the sub-list tail handle of the particular sub-list, such that the first element is designated as the tail element of the list and the tail element is designated as a former tail element, anddetermine the location of the former tail element; and setting the next sequential element pointer of the first element to the location of the former tail element. |