@SergeySerge11

Чем отличаются Marshal.AllocCoTaskMem и Marshal.AllocHGloball? Почему эти аллокаторы быстрее new? И когда их надо использовать?

Да и еще чем GC.Alloc и GCHandle.Alloc отличаются.
Играюсь, со всеми возможными аллокаторами на с++ и с#, управляемой и не памятью, и заметил что комп иногда наглухо умирает. Понять, почему не успеваю. И повторить искусственно не могу, Ибо это происходит, после тонны времени и запуска N раз всяких тестов, которые в общем вызываю выделения памяти из всех источников.(возможно не всегда освобождаю, а утечки памяти, это же только внутри процесса же или в системе остаются и после завершение процесса? )
(Такое чувство что сама RAM память системы так фрагментируется со временем, что перестает работать, а такое возможно?)/ (Сама программа на которой комп умирал была 100% безвредна(так как запускал ее после перезагрузки).
Вроде как, когда любой процесс останавливается то память должна же вернуться системе.

Marshal.AllocCoTaskMem ()
Marshal.AllocHGloball()

И какаz между ними разница, сколько читаю понять не могу. Что за средство распределение com
И почему нигде нету примеров с выделением массивов(все примеры с взаимодействием c++ win api).
Почему эти методы работают в 4-10 раз быстрее new?
Хотя мне казалось что системное выделение памяти намного дольше.
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы