Многопоточность — свойство платформы (например, операционной системы, виртуальной машины и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. Подробнее об основах работы с потоками в этой статье. Для чего это нужно? Сутью многопоточности является квазимногозадачность на уровне одного исполняемого процесса, то есть все потоки выполняются в адресном пространстве процесса. Кроме этого, все потоки процесса имеют не только общее адресное пространство, но и общие дескрипторы файлов. Выполняющийся процесс имеет как минимум один (главный) поток. Благодаря такой системе, мы можем грубо говоря одновременно реализовывать несколько задач. Пример: загрузка данных во время работы пользователя с интерфейсом, без многопоточности эти действия выполнялись бы последовательно и интерфейс блокировался. Реализация в C# Для работы с потоками в C# реализован ф