dispatch_queue_t freigegeben werden müssen mit dispatch_release()?

Habe ich zwei GCD Blöcke, die sind async. Die erste ist für den hintergrund-thread, der zweite läuft auf dem main thread. Dies funktioniert gut, aber ich sah nur irgendwo reden, dass ich vielleicht brauchen, um Sie zu befreien mit dispatch_release(). E. g.:

//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

Ist das wahr? Brauche ich die Freigabe, Sie hier?

  • Gemäß den Kommentaren in der header-Datei benötigen Sie zum aufrufen dispatch_release() für jede Warteschlange, die Sie erstellen.
InformationsquelleAutor Nic Hubbard | 2012-02-23
Schreibe einen Kommentar