2016-08-30 4 views
0

Я всегда предполагал, что под ARC dealloc всегда вызывается из того же потока, который вы первоначально использовали для создания объекта, но я не совсем уверен в этом, и я не мог найти ссылки на это в официальной документации Apple. Это правда? или вызывается из потока, где была проведена последняя ссылка?От какого потока dealloc вызывается под ARC?

Edit: Я понимаю, ARC автоматически добавит retain и release вызовов, это означает, что dealloc будет выполняться в том же потоке, где последняя release называлась?

ответ

1

ARC не изменяет семантики относительно того, как будет осуществляться управление потоковой памятью.

+1

Я понимаю, но можете ли вы подробнее рассказать? Я понимаю, что ARC автоматически добавит вызовы сохранения/выпуска, означает ли это, что метод dealloc будет выполняться из последнего потока, в котором вызывается 'release'? – Raspu

+1

@Raspu, справа. Он будет вызываться в последнем 'выпуске', где счетчик ссылок достигает нуля. –

+0

@ Cy-4AH Большое спасибо! – Raspu

Смежные вопросы