Дом аппаратные средства Что такое многопоточность? - определение из техопедии

Что такое многопоточность? - определение из техопедии

Оглавление:

Anonim

Определение - Что означает многопоточность?

Многопоточность - это тип модели выполнения, которая позволяет нескольким потокам существовать в контексте процесса, так что они выполняются независимо, но совместно используют свои ресурсы процесса. Поток поддерживает список информации, относящейся к его выполнению, включая расписание приоритетов, обработчики исключений, набор регистров ЦП и состояние стека в адресном пространстве своего процесса хостинга.

Многопоточность также известна как многопоточность.

Техопедия объясняет многопоточность

Потоки могут быть полезны в однопроцессорной системе, позволяя основному потоку выполнения реагировать на ввод пользователя, в то время как дополнительный рабочий поток может выполнять долгосрочные задачи, которые не требуют вмешательства пользователя в фоновом режиме. Потоки в многопроцессорной системе обеспечивают истинное параллельное выполнение потоков на нескольких процессорах и, следовательно, быстрее. Однако, это требует более тщательного программирования, чтобы избежать неинтуитивного поведения, такого как условия гонки, тупики и т. Д.

Операционные системы используют многопоточность двумя способами:

  • Упреждающая многопоточность, при которой переключение контекста контролируется операционной системой. Переключение контекста может быть выполнено в неподходящее время. Следовательно, поток с высоким приоритетом может быть косвенно вытеснен потоком с низким приоритетом.
  • Совместная многопоточность, в которой переключение контекста контролируется потоком. Это может привести к проблемам, таким как взаимоблокировки, если поток заблокирован в ожидании освобождения ресурса.

32- и 64-разрядные версии Windows используют преимущественную многопоточность, в которой доступное время процессора распределяется так, что все потоки получают одинаковый интервал времени и обслуживаются в режиме на основе очереди. Во время переключения потока контекст предварительно освобожденного потока сохраняется и перезагружается в следующем потоке в очереди. Временной интервал настолько короткий, что кажется, что запущенные потоки выполняются параллельно.

Это определение было написано в контексте компьютерной архитектуры
Что такое многопоточность? - определение из техопедии