Queues and Memory

·New S-Lists

S-Lists are multiprocessor-safe, sequenced, singly linked lists that can be used instead of simple, singly linked lists. S-Lists can provide significant performance improvements over simple lists because the routines do not use spin locks for synchronization on most platforms. See the Ex..SList.. routines for more information.

·New Lookaside Lists

Lookaside lists are efficient, multiprocessor-safe mechanisms for managing pools of fixed-size entries from either paged or nonpaged memory. Lookaside lists are more efficient than zones because the routines do not use spin locks on most platforms. See the Ex..LookasideList routines for more information.

·New Interlocked Routines

InterlockedCompareExchange compares a pointer value with a destination pointer value. If the values are equal, then a third pointer value is stored in the destination; otherwise, no exchange is performed. The compare and exchange are performed as an atomic operation.

InterlockedExchangeAdd adds a value to a given integer as an atomic operation and returns the initial value of the given integer. This routine is faster than ExInterlockedAddUlong because it is inlined and it does not require a spin lock.