이 글은 『서버 개발 수기』 시리즈의 네 번째 글이다. 지난 회에서는 3단계 스핀락을 다뤘다. 오늘은 그 스핀락이 지키는 버퍼 풀 이야기다. ※ 이 시리즈에서 다루는 서버 코드는 Project-AO(Ancient Origin)라는 가명으로 부른다. 도서관 이야기지난 회에서 화장실 비유를 했으니까, 오늘은 도서관으로 바꾸어본다.패킷이 들어올 때마다 데이터를 담을 버퍼가 필요하다. 그런데 패킷이 올 때마다 메모리를 새로 할당하면 느리다. 그래서 버퍼를 미리 수천 개 만들어놓고, 빌려주고 반납받는 시스템을 만든다. 이게 버퍼 풀이다.도서관이라고 생각하면 된다. 책이 필요할 때마다 인쇄하는 게 아니라, 도서관에 꽂아두고 빌려가고 반납하는 거다.간단해 보이는데, 문제가 하나 있다.도서관이 1개면스레드 ..