О разделе
Раздел связывает теорию ОС (процессы, потоки, планировщик, IPC) с практикой разработки (async/await, пулы потоков, очереди сообщений). Ниже — карта тем; подробные статьи — в списке карточек.
Листинги на языках программирования (от ~8 строк) вынесены в каталог code.spirzen.ru и подгружаются через ExternalCodeEmbed. Русский псевдокод, короткие CLI-команды (1–4 строки), диаграммы mermaid и интерактивные демо остаются в статьях — последние подгружаются из play.spirzen.ru. Образец интеграции — Каталог примеров кода.
Сначала прочитайте Асинхронность простым языком — живые примеры — там разбор реальных сценариев (сайт, десктоп, сервер, Chrome), таблица "async vs потоки vs процессы" и практикум "что выбрать". Теория в остальных статьях опирается на эту карту.
Рекомендуемый порядок
| Шаг | Статья | Зачем |
|---|---|---|
| 1 | Асинхронность простым языком | Зачем это в коде, живые примеры, практикум |
| 2 | Практикум — последовательное и параллельное выполнение | Один сценарий на Python, Java, C#, JS, Go и др. |
| 3 | Процессы и потоки | Как устроено в ОС |
| 4 | Асинхронное выполнение | Event loop, async/await, веб |
| 5 | Управление потоками | Синхронизация, гонки, deadlock |
| 6 | IPC | Обмен между процессами и сервисами |
| 7 | Итоги и FAQ | Типичные ошибки и ответы |
| Тема | Где в энциклопедии |
|---|---|
| Программа на диске, процесс в RAM, потоки | Что такое программа? |
| Поток выполнения, многозадачность, переключение контекста | Процессы и потоки |
| Мьютекс, семафор, гонки, deadlock | Управление потоками |
| Pipe, сокеты, RPC, разделяемая память, сигналы | Межпроцессное взаимодействие |
| async, корутины, колбэки | Асинхронное выполнение |
| Стек вызовов, куча, GC | Архитектура выполнения |
| Ускорение на многих ядрах (MPI, OpenMP) | Параллельные вычисления |
| Регистры, цикл "выборка — декодирование — исполнение" | Регистры, Что такое программа |
Процессы и потоки выполнения
Процессы и потоки выполнения - различия, синхронизация и практические модели конкурентного исполнения.
Управление потоками в многозадачных системах
Для анализа стека вызовов используется утилита lldb или gdb. Команда thread list выводит список всех потоков, а thread backtrace показывает стек для выбранного потока.
Асинхронное и синхронное выполнение
Модели выполнения, задачи, вызовы, порядок и синхронность.
Межпроцессное взаимодействие и обмен данными
Межпроцессное взаимодействие и обмен данными - IPC-механизмы, гарантии доставки и надежность коммуникации.
Асинхронность простым языком — живые примеры
Зачем нужна асинхронность, когда делить на потоки и процессы, и что происходит в реальных программах — без академической воды.
Практикум — последовательное и параллельное выполнение
Сравнение последовательного кода, потоков, процессов и асинхронности на I/O и CPU-задачах с примерами на Python, Java, C#, JavaScript и других языках.
Асинхронность — итоги
Итоги раздела «Асинхронность» — FAQ и краткие ответы по теме.
Асинхронность — чек-лист
Приведите пример ситуации, в которой может возникнуть гонка данных.
Асинхронность — о разделе
Подборка материалов раздела Асинхронность в энциклопедии Вселенная IT.
В подборках
Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:
База программиста — Проект, структура и фреймворки — о разделе, Архитектура выполнения — о разделе, Выполнение кода — о разделе, Парадигмы и уровни абстракции — о разделе, Код — о разделе, Объектно-ориентированное программирование — о разделе.