У меня есть программа, которая требует от 2k до 4M памяти для каждого потока. Потоки непрерывно порождаются (скажем, 20 потоков), поэтому, как только он возникает, ему требуется память между 2k - 4m (случайным образом), использует его, выходит и снова появляется. Теперь я хочу знать, должен ли я выделить максимум 4M памяти один раз для каждого потока и использовать эту память, даже когда мне нужна меньшая память, что позволяет избежать выделения и освобождения памяти каждый раз и может предотвратить фрагментацию. Но недостатком является то, что я вижу много ошибок страниц, когда количество потоков увеличивается до 100 или более.Одноразовое распределение памяти или динамическое распределение
Не знаете, как решить реализацию. Любые предложения полезны?
У нас есть концепция пула памяти. Попробуйте реализовать или использовать существующую библиотеку пула памяти. – Sasi
https://en.wikipedia.org/wiki/Memory_pool – Agis