Z powodzeniem korzystałem z funkcji Grand Central Dispatch w moich aplikacjach, ale zastanawiałem się, jaka jest prawdziwa zaleta korzystania z czegoś takiego:
dispatch_async(dispatch_get_main_queue(), ^{ ... do stuff
lub nawet
dispatch_sync(dispatch_get_main_queue(), ^{ ... do stuff
Chodzi mi o to, że w obu przypadkach odpalasz blok do wykonania w głównym wątku, dokładnie tam, gdzie działa aplikacja, a to nie pomoże zmniejszyć obciążenia. W pierwszym przypadku nie masz żadnej kontroli, kiedy blok zostanie uruchomiony. Widziałem przypadki wykonywania bloków pół sekundy po ich wystrzeleniu. W drugim przypadku jest podobny do
[self doStuff];
dobrze?
Ciekawe, co o tym myślicie.