개체가 다른 개체 (메모리 풀)를 만드는 방법에 차이점이 있습니까? 다른 크기의 데이터? 그래서 어떤 크기의 메모리 풀에서 객체를 요청하면, 가장 가까운 크기의 할당 된 메모리 청크를 반환합니다. C#로 작성해야합니다. 고맙습니다. 왜냐하면 제가 정확히 알지 못하기 때문입니다.이 최고의 알고리즘을위한 최고의 콜렉션은 무엇입니까? C++에는 몇 가지 솔루션이 있지만 C# 용 메모리 풀이 없습니다.다른 크기의 개체에 대한 메모리 풀 -
2
A
답변
2
.Net Framework에는 이미 Windows Communication Foundation에서 사용되는 구현이 있습니다. BufferManager
var buffMgr = BufferManager.CreateBufferManager(
104857600, // use no more than 100 MB in total
10485760); // allocate 10 MB max to each buffer
var buff = buffMgr.TakeBuffer(65535); // allocate a buffer enough to fit a 65 KB object
// note: this could return a buffer bigger than 65 KB
//when done with the buffer:
buffMgr.ReturnBuffer(buff);
+0
감사합니다! 나는 찾고있는 것 같다. –
관련 문제
- 1. 메모리 풀 대 malloc
- 2. 관리되는 개체에 대한 관리되지 않는 메모리 할당
- 3. 메모리 풀 알고리즘
- 4. 개체에 대한 포인터 목록의 메모리 누수
- 5. 클래스 및 그 파생 클래스에 대한 C++ 메모리 풀
- 6. RapidXml 및 메모리 풀
- 7. 개체에 메모리 할당 C#
- 8. 범용 연결 풀 메모리 관리
- 9. 풀 메모리 및 std :: forward_list
- 10. 작은 메모리 크기의 언어 선택
- 11. 메모리 풀 설계시 고려해야 할 사항은 무엇입니까?
- 12. WinDbg를 사용하여 메모리 개체에 인쇄
- 13. 클래스의 부스트 메모리 풀 사용하기
- 14. 자동 회수 풀 메모리 누출?
- 15. 면도기 뷰의 다른 개체에 대한 액세스 제한
- 16. jtabbedpane 다른 크기의 탭
- 17. 목록에서 개체에 대한 포인터를 반환
- 18. 다른 크기의 ActionBar 아이콘
- 19. C++의 메모리 풀에 대한 질의
- 20. 다른 크기의 TextView
- 21. 다른 크기의 텍스트 제공
- 22. 다른 크기의 이미지로드 TImageList
- 23. 다른 화면 크기의 VideoView
- 24. 다른 크기의 이미지 '배포판
- 25. 다른 크기의 이미지가있는 UITableViewCell
- 26. 해제 개체가 다른 개체에 속해 있음 - xcode 메모리 관리
- 27. 개체에 대한 포인터 벡터 - 메모리 누수를 피하는 방법?
- 28. 개체 풀 대 연결 풀
- 29. Java 메모리 사용량/스레드 풀 성능 문제
- 30. Session 개체에 대한 액세스
당신이 필요로하지 않기 때문입니다 ... C#에서는 메모리 관리가 CLR에 의해 처리됩니다. 또는, 귀하의 경우, 왜 명시 적 메모리 관리를해야합니까? –
무엇이 필요합니까? 올바르게 기억한다면, 힙 조각화를 피하기 위해 메모리 풀이 사용됩니다. C#에서는 쓰레기 수거가 이러한 일을 처리하기 때문에 필요하지 않을 것입니다. – Treb
예, 클라이언트가 서버 (특정 프로토콜을 통해), 클라이언트 (또는 여러 클라이언트)가 서버에 데이터를 보내고 데이터가 메시지 (문자열) + 데이터 형식 인 통신 라이브러리를 작성해야합니다. 다른 크기 및 형식). 그러나이 통신은 2 ~ 3 주간 중단없이 진행될 수 있으므로 통신하는 동안 데이터로 수천 통의 메시지를 보낼 수 있습니다. 사장님은 쓰레기 수거가이 목적을 위해 충분하지 않다고 생각한다고 말씀하셨습니다. 메모리 풀을 작성해야합니다. 그러나이 분야에서는 기술 (메모리 덩어리 등)이 없습니다. –