Common wording:
Dispatch_async (Dispatch_get_global_queue (dispatch_queue_priority_default, 0)) {dosomething ()///time-consuming Operation Dispatch_async (Dispatch_get_main_queue ()) {UpdateUI ()//update main thread}}
If you run a series of tasks, you want to run another task when the task is all over:
Let queue = Dispatch_get_global_queue (dispatch_queue_priority_default, 0) Let group = Dispatch_group_create () for (ID obj In array) { Dispatch_group_async (group, queue) { self.dowork (obj) }}dispatch_group_notify (group, queue) { self.donework}//if used in OS X 10.8 or iOS 6 and later, the Dispatch queue will be automatically managed by arc, and if it is earlier, it will need to be manually released//Dispatch_release ( Group
Delay Call:
Func delay (delay:double, Closure: ()) {let delaytime = Dispatch_time (Dispatch_time_now, Int64 (Delayinsecon DS * Double (nsec_per_sec)) dispatch_after (Delaytime, Dispatch_get_main_queue (), closure)}delay (0.4) { //Do Stuff
Use of GCD in Swift