Синхронный код обычно ждёт завершения текущей операции перед следующей, а многопоточность позволяет нескольким потокам продвигаться конкурентно. При этом синхронные функции могут выполняться внутри разных потоков.
Чем в Python синхронное выполнение отличается от многопоточности?
Синхронный код обычно ждёт завершения текущей операции перед следующей, а многопоточность позволяет нескольким потокам продвигаться конкурентно. При этом синхронные функции могут выполняться внутри разных потоков.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Синхронный код обычно ждёт завершения текущей операции перед следующей, а многопоточность позволяет нескольким потокам продвигаться конкурентно. При этом синхронные функции могут выполняться внутри разных потоков.
Потоки одного процесса разделяют память, поэтому нужны правила доступа к изменяемым данным. В обычном CPython с GIL чистый Python CPU-код не получает параллельности только от добавления потоков, но I/O часто выигрывает от перекрытия ожиданий. Уточняйте сборку и библиотеки. Конкурентность, параллельность и асинхронный API — связанные, но не тождественные понятия.