December 27, 2020

Асинхронность и многопоточность

Удивительно, как много разработчиков не знают разницы между асинхронностью и многопоточоностью. А разница между ними примерно как разница между колесом и велосипедом.

Асинхронность — это когда вы, работая, просите жену (или мужа?) сделать кофе. Кофе делается во внешней системе, а вы можете не отвлекаться от работы.

Многопоточность — это когда вы едите и листаете ленту любимой социальной сети. Вы делаете (или, во всяком случае, пытаетесь) два действия одновременно, параллельно.

Тем хуже, что в C#, с которым я работаю 90% времени, эти понятия для удобства работы смешаны в одну кучу.

Правильный ответ на вопрос в начале поста отличает разработчика от человека, случайно оказавшегося в профессии.