На этом шаге мы приведем общие сведения о потоках.
Процесс (process) - это экземпляр исполняемой программы. Последовательность исполнения кода внутри процесса называется потоком (thread). Поток - это наименьшая часть кода, которая может быть помещена в очередь на выполнение. Поток запускается в адресном пространстве процесса и использует ресурсы, выделенные процессу. В любом процессе есть как минимум один поток - первичный (primary thread). Создание вторичных потоков (secondary threads) позволяет реализовать преимущества многозадачной среды ОС Windows.
Эффективность приложения повышается при создании внутри него нескольких потоков, одновременно решающих независимые друг от друга задачи. Представим, что в текстовом редакторе автоматически через каждые пять минут выполняется сохранение текущего состояния документа. Обработка пользовательского ввода, выполняемого в основное окно, возложена на первичный поток приложения. Если выделить автоматическое сохранение в отдельный поток, то при записи даже большого документа не замедляется ответная реакция пользовательского интерфейса.
Ниже перечислены ситуации, когда применение нескольких потоков повышает эффективность приложения.
На следующем шаге мы рассмотрим создание потоков.