구현하기 위해 프로세스 간 통신을 위해 공유 메모리 할당에 mmap
을 사용하고 있습니다. 이 공유 메모리에서 큐를 초기화합니다 (NULL에 처음 포인터와 마지막 포인터를 설정합니다).공유 메모리의 대기열 만들기 POSIX
문제는 새 항목을 대기열에 밀어 넣는 방법입니다. 일반적으로 malloc
을 사용하여 '대기열 항목 구조체'를 할당 한 다음이를 가리키고 있지만 사용하지는 못합니다. 어떻게 든 공유 메모리에 할당해야합니다. 아마 또 다른 mmap
을 사용하고 거기에 항목을 밀어 넣고 가리킬 수는 있지만, 여러 번 그렇게해야하기 때문에 올바르게 보이지 않습니다.
이 작업을 간단하게 수행 할 수 있습니까? 아니면 다른 솔루션을 고려해야합니까?
어떤 아이디어 주셔서 감사합니다.
감사합니다. 많은 조언을드립니다. 링크 된 목록 대신 배열을 사용하는 것이 훨씬 쉬워집니다. 내가 볼 수있는 유일한 단점은 배열을 사용하면 실제로 그 순간에 필요로하는 더 많은 공간을 차지하게된다는 것입니다. 그게 내가 처음에 연결된 목록을 결정한 이유 였지만 당신의 대답에서 1 절을 깨닫지 못했습니다. 다시 thx – tsusanka