나는 소켓을 통해 작동하도록 의도 된 메시지 큐를 작성하고 있으며, 큐 공간을 사용자 공간에두고 큐를 각각의 소켓으로 배출시키는 스레드를 갖고 싶습니다.가변 크기의 청크를 std :: queue에 저장 하시겠습니까?
메시지 (4 및 4K 바이트 아마 사이) 메모리의 작은 모양이 될거야, 그래서 끊임없이의 malloc() 보내고 메모리를 피할 생각하는 것은 분열을 피하기 위해 필수입니다.
작동 모드는 사용자가 전송 (MSG) 같은 것을 호출 메시지가 다음 큐 메모리에 복사하고 편리한 시간에 소켓을 통해 전송되는 것이다.
제 질문은 가변적 인 크기의 데이터 덩어리를 std :: queue 나 std :: vector 같이 저장하는 "좋은"방법인가요? 아니면 메모리를 모으는 경로를 따라야할까요? 수영장에서 풀어 내 자신의 배정을 처리할까요?
나는 이것이 최고라고 생각한다. 나는 내 머리 속에서 어떻게 든 대기열에있는 메시지를 구분해야하지만, 나는 네가 말하는 것을 할 수있다. 그리고 그것은 확고한 최대 크기가 내 메시지를 결정했다. 크기. –