# SharedFlow vs StateFlow

DevFeed: [SharedFlow vs StateFlow](<https://devfeed.tech/articles/sharedflow-vs-stateflow-39374.md>)

Original publisher: [Read original article](<https://kt.academy/article/sharedflow_vs_stateflow>)

Published: 2024-06-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [LineageOS](<https://devfeed.tech/topics/lineageos.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [backend](<https://devfeed.tech/tags/backend.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [messages](<https://devfeed.tech/tags/messages.md>), [parameter](<https://devfeed.tech/tags/parameter.md>), [progress](<https://devfeed.tech/tags/progress.md>), [service](<https://devfeed.tech/tags/service.md>), [sharedflow](<https://devfeed.tech/tags/sharedflow.md>), [state](<https://devfeed.tech/tags/state.md>), [stateflow](<https://devfeed.tech/tags/stateflow.md>), [users](<https://devfeed.tech/tags/users.md>), [value](<https://devfeed.tech/tags/value.md>), [websocket](<https://devfeed.tech/tags/websocket.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

## AI overview

This tutorial explains the distinction between Kotlin's StateFlow and SharedFlow. StateFlow represents observable application state, while SharedFlow broadcasts events to observers. It discusses replay, required initial values, distinct updates, conflation, and examples for Android and backend services.

## Source excerpt

When to use SharedFlow and when to use StateFlow.