タグ

coroutineに関するi_matsuiのブックマーク (10)

  • Kotlin のコルーチン (coroutines) について学ぶ - ひだまりソケットは壊れない

    KotlinConf 2017 の情報を追ったり、Ktor を見たりしているとコルーチンがよく出てくる。 コルーチンについては概要は知っているが詳細を追いかけていなかったので、コルーチンについて学んでメモ程度に記録しておく。 Kotlin 1.1 においてコルーチンは実験段階で、将来にはこのページの情報は古くなっているかもしれないので注意されたし。 記事に書かれている内容 コルーチンとは何か コルーチンの実装がどこにあるのか (言語サポートと標準ライブラリと外部ライブラリ) コルーチンの基的な使い方 コルーチンのキャンセル処理について コルーチンコンテキストについて チャンネル 並行性の問題 Select 文 Coroutine (コルーチン) って何? まずは公式リファレンスの情報を追う。 公式リファレンス : Coroutines - Kotlin Programming Lang

    Kotlin のコルーチン (coroutines) について学ぶ - ひだまりソケットは壊れない
  • Kotlin の Coroutine を概観する - Qiita

    Kotlin では バージョン 1.1 から Coroutine が導入されています。 検索すると coroutine, async/await に関する情報がたくさん見つかりますが、そもそも coroutine がどのようなもので、どのように使うのかを簡単に説明した資料が少なかったため、 Kotlin 公式ドキュメントを元に勉強してみました。 筆者は Coroutine 自体に馴染みがなく、今回 Kotlin で初めて触れています。根的な認識の誤り等なにかございましたらご指摘いただければ嬉しく思います。 ※ 2017年11月現在の最新版は 1.1.60 ですが、 Coroutine は未だ experimental となっています。そのため今後破壊的な変更が行われる可能性があります。 Coroutine は軽量な Thread Coroutine とは、つまるところ軽量な Thread

    Kotlin の Coroutine を概観する - Qiita
  • Kotlin 1.3のCoroutineの使い方①(はじめてのCoroutine) - Qiita

    検証環境 この記事の内容は、以下の環境で検証しました。 Intellij IDEA ULTIMATE 2018.2 Kotlin 1.3.0 Gradle Projectで作成 GradleファイルはKotlinで記述(KotlinでDSL) やりたいこと Kotlin 1.3のリリースと同時に、これまで実験的だったCoroutineの1.0.0がリリースされました。 早速、公式サイトで内容を確認してみると思いの外難しいです。そのため、少しづつ翻訳して、実験しながら理解していいくことにしました。現時点では、Coroutineが何者かも今はわかりません。 最終的には、コルーチンを完全に理解します。 ※翻訳の際、意訳が交じることがあります、ご注意ください。 公式:Coroutineのページ 準備 Coroutineを利用するには、ライブラリを追加する必要があります。 渡しの場合、gradleも

    Kotlin 1.3のCoroutineの使い方①(はじめてのCoroutine) - Qiita
  • KotlinとCoroutineに入門してみた

    こんにちは、kz_moritaです。 これまではずっと iOS をやっていたのですが、最近サーバーサイド Kotlin を書き始めたので今日は Kotlin の Coroutine について勉強がてら軽く触ってみました。 Kotlin 完全に初心者なので、IDE で project を作るところから詳しめに書いていきます。 準備 開発環境としては、IntelliJ IDEA CE を使う想定なので、別環境の方は適宜読み替えてください。 まずはプロジェクトを作ります。 File > New > Project… Gradle で環境を作るので、以下の写真のように Gradle を選択し、 Kotlin/JVM を選択状態で Next を押します。 GroupId に組織名など(個人の場合は適当で良いはず)をいれ、ArtifactIcd にこのアプリ名を入れます。 Project 名と Pro

    KotlinとCoroutineに入門してみた
  • Kotlinでコルーチンをはじめよう【Androidアプリ開発】

    Kotlinでコルーチンをはじめよう【Androidアプリ開発】 コルーチン (Coroutine) とは、Kotlin で並列処理を非同期におこなえる軽量なスレッドです。Android アプリ開発でもコルーチンを使えるので、今までやっていた非同期処理を、Kotlin のコルーチンに変えてみようと思いました。記事では、Android開発におけるコルーチンの使い方を理解できている範囲でまとめました。 ▼ こちらの書籍でもCoroutineの使い方が解説されてます。

    Kotlinでコルーチンをはじめよう【Androidアプリ開発】
  • 図で理解する Kotlin Coroutine - Qiita

    Kotlin 1.3 が2018年10月30日に正式版として公開されました。 それに伴い、コルーチンが stable へと昇格しました! 非同期処理を楽に書けるコルーチンですが、コルーチンの書き方はわかったものの、実際何がどう動いて何と何がどう関係しているのかといったメンタルモデルが構築されるまでよくわからないまま使ってました。 自分の理解の整理も兼ねて、自分の中のメンタルモデルを図と文で書き出してみました。 間違っているところなどございましたら、コメントなどでご指摘いただけますと幸いです。 Kotlin のコルーチンについて、多少どういったものであるかを知っている人向けになっていますので、そもそもコルーチンって何?って方はまずはこちらの記事をご覧ください。 また、記事では CoroutineContext のことを単に コンテキスト、 CoroutineScope のことを スコープ

    図で理解する Kotlin Coroutine - Qiita
  • Coroutines私的メモ2~Dispatchers, withContext, async/await~ - Qiita

    dispatchers コルーチンを使う際に、どのスレッドもしくはスレッドプールにて実行・制御したいということがあります その際にdispatcherを指定することで解決できます Dispatcherにもいくつか種類があるので使い分けたいところです Dispatchers.Main UIに関する処理をするメインスレッドのためのコルーチン Dispatchers.Main.immediate UI更新を即時行いたい際に使用される (e.g. textviewのtext更新とか) Dispatchers.Default 共有スレッドプールを使用し、CPUのコア数に従って設定される CPUに負荷をかけるような計算をするような処理に対して使うことが推奨されます Dispatchers.IO その処理に必要なコルーチンの数に応じて必要な分だけ共有スレッドプールを使用する DBの検索等、I/Oに負荷を

    Coroutines私的メモ2~Dispatchers, withContext, async/await~ - Qiita
  • 雰囲気で利用しないためのAndroidにおけるKotlin-Coroutineメモ - Qiita

    内容 自分がKotlin-Coroutinesを雰囲気で使っていたので調べたメモ。 Coroutineとは Coroutineとは軽量のThreadであり、非同期処理やノンブロッキング処理を行うためのアプローチの一つ。 軽量なスレッドとはどういうことか 以下のような違いがあるよう。 ※理解にはシステムアーキテクチャの知識が若干必要なので、ここは無視でいいかもしれない。 Threadはシステム的に以下の特性を持っている Thread一つにつきプロセス上に対象Thread専用のメモリリソースを確保する必要がある 実行Threadをシステムスケジューラが切り替えるのでオーバーヘッドが発生する Coroutine プロセス上のメモリを利用するので、個別にメモリを確保する必要がない 切り替えタイミングをプログラマが指定するので、オーバーヘッドが発生しない 登場人物一覧 Coroutine利用時の登場

    雰囲気で利用しないためのAndroidにおけるKotlin-Coroutineメモ - Qiita
  • LifecycleCoroutineScope を可視化しよう - Qiita

    はじめに LifecycleCoroutineScope は Coroutineに用意された、非同期処理の範囲を制限するための機能になります。 その名の通りライフサイクルに依存できるので、各メソッドがどのような範囲で挙動するか可視化してみました。 前提条件 Android Studio 3.5.1 で確認しました。 AndroidXは androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-rc01 を利用しています。 確認する点 LifecycleCoroutineScope の 以下のメソッドについて確認します。(基となる launchも一緒に確認しています) launchWhenCreated launchWhenStarted launchWhenResumed launch 結果 マーク 意味

    LifecycleCoroutineScope を可視化しよう - Qiita
  • Kotlin Coroutine 入門1: 起動と suspend - Qiita

    (2020年9月22日) この記事は Zenn でも公開しています。 Kotlin 標準の並行プログラミング API である coroutine を理解1したのでまとめました。 家のガイド は包括的で(上から読めば)丁寧に書いてあるのですが、実際に自分が読んだ際には理解に結構苦労したので、少し別のアプローチでの入門になります。 (はじめにお断り: Coroutine と Promise, async/await, Rx, etc…) 並行処理の API といえば、ここ数年だと「Promise」や「Rx」のような計算結果を表すオブジェクトを then() や map() などでつなげていくスタイルか、「async/await」などと呼ばれるような計算結果オブジェクトを馴染みやすい形で書くスタイルが多いと思います。 coroutine の基を学習する際には、一旦これらは忘れてもらった方が良

    Kotlin Coroutine 入門1: 起動と suspend - Qiita
  • 1