Задать вопрос
@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?
Хотя мне казалось что системное выделение памяти намного дольше.
  • Вопрос задан
  • 116 просмотров
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

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

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