Skip to content
Dmitry Ponyatov edited this page Aug 19, 2019 · 3 revisions

thread: нить (выполнения)

В многозадачных программах и операционных системах различают:

  • process задача полностью изолирована от других задач, имеет доступ только к своей памяти, и набору захваченных ресурсов
  • thread общая для всех задач память программ и память данных, но у каждой нити свой указатель команд и стек

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

Минус -- нет защиты памяти между нитями, так как память программ и данных у них общая (в рамках одного процесса, который делится на нити)

Clone this wiki locally