Dispatch
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// バックグランドでAPIなどを実行
});
dispatch_async(dispatch_get_main_queue(), ^{
// メインスレッドで処理をしたい内容、UIを変更など。
});
dispatch_sync(dispatch_queue_create("test_sample", DISPATCH_QUEUE_SERIAL), ^{
// 同期処理
});