はじめに 今回はGCDの内容を中心に並列処理についてまとめています。 マルチコアと並列処理 コンピュータの黎明期にはCPUのクロック速度で決定されていた最大作業量ですが、CPUのコア数を増やすことで格段に改善されました。2006年頃にコアが2つのデュアルコア、2007年以降はコアが4つあるクアッドコアが登場し、近年ではヘキサコア、オクタコアが標準になりつつあります。これらのマルチコアの優位性を活かすために、複数の処理を同時に実行ソフトウェアが必要となります。実際iOS, OSXのような最新マルチタスクOSでは数百ものプログラムを同時に実行できます。 これらの並列処理を実現するためには、単にコアと同数のスレッドを生成すればいいという単純な話ではありません。アプリケーションが独自に使用可能なコア数を計算し、それを効率的に干渉させずに動作させることは非常に困難になります。 Appleのオペレーシ
![SwiftでConcurrency Programming - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/7a383f406a01878411e50c8a73b3ec4059226a90/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U3dpZnQlRTMlODElQTdDb25jdXJyZW5jeSUyMFByb2dyYW1taW5nJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01YWVhOGU5YmY4OWJiNjI5NGUzODBiNGQxYjY1ODVlMQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2hvaGVpeW9rb3lhbWEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTNkYTk4OTYyZmFkM2Y4MmNmZTgxNWY0MDcxNjM4M2E5%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D40f1b29ae8b8de6346c0f0ec4971b45e)