Ответ
Поток (Thread) — это наименьшая единица выполнения в процессе. Потоки одного процесса разделяют память и ресурсы, что позволяет им легко обмениваться данными, но требует синхронизации.
Процесс (Process) — это экземпляр программы со своей собственной памятью и ресурсами. Процессы изолированы друг от друга, взаимодействие между ними сложнее (IPC).
Пример (Kotlin):
// Поток
Thread {
println("Running in thread: ${Thread.currentThread().name}")
}.start()
// Процесс (запуск нового приложения)
val intent = packageManager.getLaunchIntentForPackage("com.example.app")
startActivity(intent)
Ключевые отличия:
- Потоки легче, процессы тяжелее.
- Потоки делят память, процессы — нет.
- Сбой потока может повлиять на весь процесс, сбой процесса — только на себя.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶