2016-08-30 3 views
0

항상 ARC dealloc은 항상 처음에 객체를 생성하는 데 사용했던 동일한 스레드에서 호출되지만 실제로 이에 대해서는 확신 할 수 없으며 Apple 공식 문서에서 이에 대한 참조를 찾을 수 없습니다. 사실입니까? 또는 마지막 참조가 열린 스레드에서 호출 되었습니까?ARC에서 어떤 스레드로부터 dealloc이 호출됩니까?

편집 : 나는 ARC가 자동으로 retainrelease 통화를 추가 할 것 이해 ,이 dealloc 마지막 release가 호출 된 동일한 스레드에서 실행된다는 것을 의미합니까?

답변

1

ARC는 어떤 스레드 메모리 관리가 발생할지에 대한 어떠한 의미도 변경하지 않습니다.

+1

나는 이해하지만 조금 더 자세히 설명 할 수 있습니까? ARC가 자동으로 retain/release 호출을 추가한다는 것을 이해합니다. 이는 'release'가 호출 된 마지막 스레드에서 'dealloc' 메소드가 수행된다는 것을 의미합니까? @ Raspu, – Raspu

+1

. 참조 횟수가 0에 도달하는 마지막 release에서 호출됩니다. –

+0

@ Cy-4AH 대단히 감사합니다! – Raspu