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..