Swiftで遊ぼう! - 923 - マルチスレッドの考え方で混乱していました。
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- 初心者はここから!-> 50オヤジでもできるiOS開発
- 私の本業、オフィシャルなブログ-> Life-LOG
- Swift 3 対応
マルチスレッドなプログラミングの勉強をしていて、自分の理解が甘かったことが分かってきました。
スレッド、キュー、タスク、同期、非同期...
どうもこれらの関係性をしっかり理解していなかったためコードを勉強していてもしっくり頭に入らなかったんです。
「スレッド」とはプロセッサに依存したiOSの低レベルでの処理のようでした。Swiftを使ってこのスレッドの制御をすることもできるようですが、プログラマは処理を全て制御しないといけないようで、私のような素人では太刀打ちできそうもありません。
細かい制御を自動的に請け負ってくれる上位のシステムとしてAppleはGCDとOperationクラスを用意しているようです。OOPに準拠した新しい制御はOperationクラスなんで、今後はOperationに移行していくのかもしれません。しかし、Swift 3で大幅な改訂があったのはレガシー*1なGCDな訳で、今年のWWDC2017でマルチスレッドに関する新しい発表があるまでGCDの使い方を理解することにします。
*1:今まさに現役で使われている機能なんで間違った言い方かもしれませんね。