タグ

gcdとSwiftに関するclavierのブックマーク (4)

  • Grand Central Dispatch (GCD) and Dispatch Queues in Swift 3 | AppCoda

    One of the greatest improvements in the technology of Central Processing Units (CPUs) since their existence is the capability to contain multiple cores and therefore to run multiple threads, which means to serve more than one task at any given moment. Serial execution of tasks or fake multitasking belongs to the history since many years now, and if you are not that young and remember old computers

    Grand Central Dispatch (GCD) and Dispatch Queues in Swift 3 | AppCoda
  • Swift GCD入門 - Qiita

    3年ぐらい前の被埃記事なのにだいぶご覧いただいていて…なんかもういたたまれなくなって記法など内容更新しました。ちなみに、何だかんだ普段使うのって DispatchQueue.main.async{ print("サブスレッドでUI処理") } だけだったなあっていう雑感。。(2018.12.25) 知識整理を兼ねてざっとまとめます。Operationとかとの兼ね合いについてはSwift 並列プログラミング基礎で。 1. はじめに GCDとは Grand Central Dispatch(直訳:総合送信?) マルチタスク実行基盤API もともとCベースで使うAPIだったが、今はSwiftライブラリDispatchが整備されている Operationはこれのラッパークラス 用法・効能 用意したディスパッチキューにタスクを放り込んで何やかんや。 スレッド管理しなくても非同期処理を実現できる。 「

    Swift GCD入門 - Qiita
  • Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました - Qiita

    以前書いた記事「Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数」の反響が思っていたよりあったのでもう少し改良してみることにしました。 そうしたところ、不便だった点が解消され実用に足るものになったと思いますのでライブラリにして公開してみました。 以前の記事では parallel 関数だけだったのですが、それだけではさみしいので seriesと waterfall 関数も追加しています。 なにができるのか? Web API リクエストなどの非同期処理を複数同時に行い、すべてが終わったらそれぞれの非同期処理の結果を使って別の処理をさせたい、ということはよくあると思います。 しかしこれを実装するためには、すべての非同期処理が終わったことを判定する変数を用意したり、GCDを使用したりする必要があり、なかなかきれいにコードを書くことができません。 このライブ

    Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました - Qiita
  • Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数 - Qiita

    改良したものをライブラリとして公開しました。 Swiftで複数の非同期処理を扱うライブラリAsyncKitを書きました 非同期処理を並列に実行させてすべてが終わったら別の処理を行う、ということをしたいとき、GCDのgroupを使う方法があります。 ただ、毎回GCDのコードを書くのは美しくないですし、やり方を忘れてしまいがちです。 そこで新しく parallel という関数を作りました。 JavaScriptの非同期処理を扱うライブラリ "async" にあるparallel関数を参考にしています。 Quick Example parallel( [ { done in done("1") }, { done in done("2") } ]) { results in print(results) // -> [Optional(1), Optional(2)] } let process

    Swiftで複数の非同期処理を並列実行させて、すべてが終わったらコールバックを受け取る関数 - Qiita
  • 1