Нужно ли мне использовать функции HeapLock и HeapUnlock в winapi всякий раз, когда я хочу использовать HeapAlloc или HeapFree? - PullRequest
0 голосов
/ 24 сентября 2011

Нужно ли мне использовать функции HeapLock и HeapUnlock в winapi всякий раз, когда я хочу использовать HeapAlloc или HeapFree в многопоточной программе, которая использует один и тот же дескриптор для кучи?

Если да, блокирует ли HeapLock, пока не получит блокировку?

1 Ответ

2 голосов
/ 24 сентября 2011

Нет. HeapLock получает блокировку, используемую HeapAlloc, которую вы можете использовать для блокировки других потоков от выполнения функции выделения и освобождения в указанной куче, но вы не должны использовать HeapLock перед вызовом HeapAlloc или HeapFree.

Пока куча не была создана с HEAP_NO_SERIALIZATION, HeapAlloc и HeapFree безопасны для использования в многопоточной среде.

Ссылки:

HeapAlloc

HeapLock

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...