2012-02-05 2 views
-3

Можно создать дубликат:
Does every thread need its own autorelease pool?Autoreleasepool для отдельных потоков в прошивкой

Я хотел бы знать, почему это необходимо использовать autorelease бассейн, когда мы называем некоторые методы в отдельном потоке а не основной поток, пожалуйста, уточните.

+0

Думаю, вам нужно немного разъяснить вопрос. Вы хотите спросить, почему все потоки не разделяют один пул? –

ответ

1

Если вы используете сбор мусора EXCLUSIVELY в нити вам не нужен пул авторефератов.

Однако, если вы вручную управляете учетными записями (модель управляемой памяти) вообще, даже если вы используете ее с сборкой мусора, то каждая нить ДОЛЖНА нуждается в собственном автообновлении.

Пулы автореферации зависят от потока, то есть пул из потока A не может получить доступ/управлять пулом из потока B. Обычно каждый поток будет иметь несколько пулов автоопределения, чтобы уменьшить использование памяти. Опять же, вложенные пулы специфичны для их потока - они не могут управлять памятью из других потоков.

Вы должны прочитать на прорастающем руководстве IOS на https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Multithreading/

Кроме того, Apple рекомендует мигрирующую от многопоточности и управления параллелизма с Диспетчер Grand Central. Это немного легче сделать, IME, для чего-то сложного: https://developer.apple.com/library/ios/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/ThreadMigration/ThreadMigration.html#//apple_ref/doc/uid/TP40008091-CH105-SW1

0

Думаю, у меня нет вашего вопроса. В любом случае, вы можете сделать это в Google, что он делает или для чего это необходимо, или прочитать книгу по разработке ios;) Autoreleasepool обрабатывает все ваши проблемы с памятью, когда вы используете ARC (Automatic Reference Counting). Таким образом, вам не нужен метод void dealloc для этого и отпустите все вручную. Это основное, что касается отдельной темы внутри вашего приложения. Autoreleasepool заботится обо всех них. Надеюсь, что ответит на ваш вопрос. Короткий, но простой.

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

  • Нет связанных вопросов^_^