Eşzamansız iki GCD
blok var. İlki arka plan iş parçacığı için, ikincisi ana iş parçacığı üzerinde çalışır. Bu harika çalışıyor, ancak sadece bir yerde konuşarak dispatch_release()
'u kullanarak onları serbest bırakmam gerekebileceğini gördüm. MS:dispatch_queue_t dispatch_release() kullanılarak serbest bırakılması gerekiyor mu?
// Use gcd
dispatch_queue_t queue = dispatch_queue_create("com.awesome", 0);
dispatch_queue_t main = dispatch_get_main_queue();
// do the long running work in bg async queue
// within that, call to update UI on main thread.
dispatch_async(queue, ^{
// Do work in the background
// Release
dispatch_release(queue);
dispatch_async(main, ^{
// Main
// Release
dispatch_release(main);
});//end
});//end
Bu doğru mu? Onları burada serbest bırakmalı mıyım?
Başlık dosyasındaki yorumlarda, oluşturduğunuz herhangi bir sırada dispatch_release() yöntemini çağırmanız gerekir. – BonanzaDriver