Потоки считаются более легковесными, чем процессы, по нескольким причинам:
- Отсутствие необходимости в создании собственного пространства виртуальной памяти. 2 Потоки выполняются в адресном пространстве и виртуальной памяти родительского процесса, поэтому для них не нужно организовывать полноценную виртуальную машину с собственными ресурсами. 12
- Более быстрое переключение между потоками. 4 Переключение между потоками происходит быстрее, чем между процессами, так как для переключения между потоками достаточно переместить некоторые указатели. 2
- Лёгкий обмен данными внутри процесса. 2 Потоки внутри процесса совместно используют одно и то же пространство виртуальной памяти, поэтому обмен данными между ними происходит легко. 2
Таким образом, потоки используют меньше ресурсов, чем процессы, и считаются их облегчённым вариантом. 25