#process #thread
- Статья: https://tproger.ru/problems/what-is-the-difference-between-threads-and-processes/
- Симмонс Крид - Встраиваемые системы на основе Linux
- Процесс - экземпляр программы, независимый объект, которому выделены ресурсы системы (память, процессорное время).
- Из этого следует, что каждый процесс выполняется в отдельном адресном пространстве, процессы изолированы друг от друга.
- отсебятина Получается, процессы некогерентны друг к другу. Если несколько процессов имеет доступ к одному и тому же файлу, например, пишут в него, то Бог его знает, что получится.
- Для связи процессов нужно организовать межпроцессное взаимодействие, например, через файловую систему, конвейеры (см. ниже) etc.
- Потоки могут использовать одно и то же пространство, область памяти.
- У каждого потока есть свой стек и собственные регистры, другие потоки могут их использовать.
- Когда один поток изменяет ресурс процесса, то остальные потоки видят это изменение.
- отсебятина Получается, потоки тоже могут быть некогерентны, если об этом не позаботиться, т.к. используют общие ресурсы системы.