Interlocked Singly Linked Lists

Server/Multithreading

[Object Pool] SList를 사용한 Object Pool 구현(1)

SList를 사용해서 Object Pool을 구현해 보려고 한다. 구현에 앞서 SList에 대해 알아보자 Interlocked Singly linked list(SList) MS에서 제공하는 연결 리스트로 atomic operation을 지원한다. 모든 항목은 MEMORY_ALLOCATION_ALIGNMENT boundary에 정렬되어야 한다. 정렬되지 않은 항목은 예측할 수 없는 결과를 초래할 수 있다고 한다. 따라서, 할당시 _aligned_malloc을 사용해야 한다. SList의 헤더는 SLIST_HEADER, 엔트리는 SLIST_ENTRY 타입이다. SLIST_HEADER SList의 헤더로, 맨 처음에 위치한 아이템을 가리킨다. depth는 SList에 포함된 데이터의 개수를 의미한다. seq..

Tuesberry
'Interlocked Singly Linked Lists' 태그의 글 목록