Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Kotlin: zombie process, thread, fork, waitpid, resource

Что такое «зомби-процессы» и как они соотносятся с потоками (threads)?

Проверяет понимание терминологии ОС и отличий процессов от потоков в контексте Android.

Короткий ответ

«Зомби-процесс» в Unix-системах — это дочерний процесс, завершивший выполнение, но не получивший статус от родителя (не вызван wait), и потому остающийся в таблице процессов. Потоки (threads) внутри одного процесса не становятся зомби: они завершаются и освобождают ресурсы сразу. В Android чаще говорят о «утечках» потоков, а не о зомби-процессах.

Длинный ответ

Процесс vs Поток:

  • Процесс: изолированное пространство, зомби-статус сохраняет PID до wait().

  • Поток: лёгкая единица планирования внутри процесса, убирается сразу.

Причина зомби-процессов:

  • Родитель не выполнил waitpid, поэтому ОС не смогла очистить дескриптор.

В Android:

  • Native-процессы могут создавать зомби; Java-потоки завершаются автоматически.

  • Следите за вызовом Process.waitFor() при Runtime.exec().

Управление потоками:

  • Используйте ThreadPoolExecutor или корутины вместо ручного создания потоков, чтобы избежать «висячих» задач.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#zombie process

#thread

#fork

#waitpid

#resource

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.