お目汚し失礼致します。 これはiOS Second Stage Advent Calendar 2013の12月23日分の記事です。 @synchronizedがあるんだから、@backgroundがあっても良いじゃない。 そんな気持ちで書きました。 1. マクロを定義します 下記のようなマクロを定義します。 下記のようなもんをマクロとは言わん、という意見は受け付けません。 #define background \ try{}@finally{}\ __block void (^backgroundBlock)();\ [[NSOperationQueue mainQueue] addOperationWithBlock:^{\ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{\
![@background { } で、気軽にマルチスレッド処理を行う方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e8c2ea6a35ec033788d7bb5bd364d3d2026c0095/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTQwYmFja2dyb3VuZCUyMCU3QiUyMCU3RCUyMCVFMyU4MSVBNyVFMyU4MCU4MSVFNiVCMCU5NyVFOCVCQiVCRCVFMyU4MSVBQiVFMyU4MyU5RSVFMyU4MyVBQiVFMyU4MyU4MSVFMyU4MiVCOSVFMyU4MyVBQyVFMyU4MyU4MyVFMyU4MyU4OSVFNSU4NyVBNiVFNyU5MCU4NiVFMyU4MiU5MiVFOCVBMSU4QyVFMyU4MSU4NiVFNiU5NiVCOSVFNiVCMyU5NSZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDbWlkZGxlJnM9OGQyMDZkMjY0ZmYxMzUyMDkyMTk2YTc5YjJhMDZkOTc%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwb2RlbiU0MGdpdGh1YiZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MTFlMTU5NWU0MGM5ZTY3NjA4YTFhYTA5ZjUwNDlkZDU%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D999b4d6cf92221ca154d78633c9141ff)