Руководство по параллельному программированию хорошо.Вот несколько очень важных вещей, о которых следует помнить.
- Вы должны обновлять пользовательский интерфейс только из основного потока.Это может получить вас тонкими способами ...
- NSNotifications будут получены в потоке, из которого они запускаются.Поэтому, если вы запускаете поток и подписываетесь на NSNotification для запуска действия пользовательского интерфейса, вы должны проверить, в каком потоке вы находитесь, когда получите его.Если это не в главном потоке, используйте для выполнения в главном потоке NSObject executeSelectorOnMainThread: withObject: waitUntilDone:
.Поток безопасно.(Я полагаю, что CATiledLayer делает некоторые умные вещи из-за этого)
- Как правило, для контроллеров представления единственный цикл обработки событий, о котором вы должны подумать, - это цикл в главном потоке.Подумайте дважды, прежде чем создавать собственный цикл обработки событий в другом потоке.