[解決済み】Kotlinのコルーチンにおけるlaunch/joinとasync/awaitの違いとは?
2022-04-04 18:28:40
質問
で
kotlinx.coroutines
ライブラリを使用すると、新しいコルーチンを開始することができます。
launch
(を使用します。
join
) または
async
(とともに
await
). 両者の違いは何ですか?
どのように解決するのですか?
-
launch
は、以下のように使用されます。 ファイア・アンド・ゲット・コルーチン . 新しいスレッドを立ち上げるようなものです。の中のコードがlaunch
が例外で終了した場合、その例外は 無捕捉 通常、バックエンドのJVMアプリケーションでは標準エラーに出力され、Androidアプリケーションはクラッシュします。join
は起動したコルーチンの完了を待つために使用され、その例外は伝搬しません。しかし、クラッシュした 子 コルーチンは、対応する例外とともに、その親をキャンセルする。 -
async
は、以下のように使用されます。 ある結果を計算するコルーチンを開始します。 . のインスタンスで表されます。Deferred
で、あなたは しなければならない 使用await
を乗せる。の内部でキャッチされない例外が発生します。async
のコードは、結果的にDeferred
であり、他のどこにも配送されないので、処理されない限りは黙って落とされます。 非同期で開始したコルーチンのことを忘れてはいけません(MUST NOT)。 .
関連
-
[解決済み] 非同期実行と同期実行、その主な違いは?[クローズド]
-
[解決済み] async」と「await」の使い方とタイミング
-
[解決済み] 非同期Task<T>メソッドを同期的に実行するにはどうしたらいいですか?
-
[解決済み] async/await - タスクとvoidをいつ返すか?
-
[解決済み] 非同期呼び出しとノンブロッキング呼び出し? ブロッキングと同期呼び出しの間にも
-
[解決済み] const "と "val "の違いは何ですか?
-
[解決済み] Kotlinのvarとvalの違いは何ですか?
-
[解決済み】非同期プログラミングとマルチスレッドの違いは何ですか?
-
[解決済み】KotlinのList型とArray型の違いについて
-
[解決済み】Kotlinのコルーチンにおけるlaunch/joinとasync/awaitの違いとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン