Когда память распределяется с использованием нового или malloc, распределителю, возможно, придется защищать себя от повторного входа. Я вижу два способа сделать это:Какова производительность распределителя C/C++ в многопоточном контексте?
- Большие мьютексы. Это решение прост, но имеет низкую производительность.
- Пул памяти зарезервирован для каждого потока. Производительность высокая, но размер пула может быть трудно оценить.
Я думаю, что большинство распределителей используют второй метод, но я не могу найти доказательства этого.
Вы знаете, какой распределитель использует какой метод? Есть ли в этом стандарте?
Большинство компетентных распределителей сегодня используют комбинацию обоих. – Mysticial