プラットフォーム間のDispatchers
AndroidとiOSに存在するdispatcherを選びます
「プラットフォーム間のDispatchers」はCoddyKit上の無料Kotlin Multiplatform Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはKotlin Multiplatform Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Kotlin Multiplatform Academyコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Where Work Actually Runs
A coroutine still runs on some thread. A dispatcher decides which thread or pool it uses, and that choice matters on each platform.
Meet Dispatchers.Default
Use Dispatchers.Default for CPU-heavy work like parsing or sorting. It exists on Android and iOS, so shared code can rely on it.
withContext(Dispatchers.Default) { sort(data) }Dispatchers.Main for UI
Dispatchers.Main runs on the platform UI thread. It is available in common code, but only update screens from here.
withContext(Dispatchers.Main) { render(state) }The IO Dispatcher Gap
Watch out: Dispatchers.IO exists on the JVM and Android but not in plain common code on every target. Do not assume it is everywhere.
Stay in Common-Safe Land
For portable shared logic, prefer Default and Main. They are guaranteed across the targets KMP commonly supports.
Switching with withContext
You move work between threads using withContext. Compute on Default, then hop to Main to publish the result, all in one function.
val r = withContext(Dispatchers.Default) { heavy() }Dispatchers Are Pluggable
A dispatcher is just a CoroutineContext element. You can pass one in, which makes shared code easy to configure and test.
class Loader(val io: CoroutineDispatcher)Inject for Testability
Passing the dispatcher in lets tests swap a deterministic one. Hard-coding it makes shared async logic harder to test. 🧪
iOS Runs Them Too
On iOS these dispatchers map onto the right native queues automatically. Your shared code does not care about GCD details.
One Choice, Both Platforms
Because the dispatcher names are common, the same line schedules work correctly on Android and iOS. No platform branches in your logic. ✨
Pick the Right Tool
Rule of thumb: Default for computation, Main for UI updates, and inject anything IO-like so it stays portable. 🎯
Quick Check
Pick the dispatcher choice that is safest for shared KMP code.
Recap
You learned to pick dispatchers wisely: Default for computation, Main for UI, and inject IO-style ones since they are not on every target. 🎉
AI チューターと学ぶ Kotlin — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「プラットフォーム間のDispatchers」レッスンは無料ですか?
はい。「プラットフォーム間のDispatchers」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Kotlin Multiplatform Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Kotlin Multiplatform Academyコースには全4レッスンが含まれています。
「プラットフォーム間のDispatchers」で何を学びますか?
AndroidとiOSに存在するdispatcherを選びます ブラウザで直接実行するハンズオンコードでKotlin Multiplatform Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Kotlin Multiplatform Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのKotlin Multiplatform Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「プラットフォーム間のDispatchers」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このKotlin Multiplatform Academyレッスンでコードを書いて実行できますか?
はい。すべてのKotlin Multiplatform Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- どこでも動くsuspend Functions
- プラットフォーム間のDispatchers
- CoroutineScopeとLifecycle
- withContextとStructured Concurrency