Process and thread difference - luk6233/interview GitHub Wiki

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

Таким образом, процессы, как правило, изолированы, и они взаимодействуют посредством межпроцессного взаимодействия, которое определяется операционной системой как своего рода промежуточный API.

Напротив, поток - это часть приложения, которая совместно использует общую память с другими потоками того же приложения. Использование общей памяти позволяет снизить нагрузку, спроектировать потоки для взаимодействия и обмена данными между ними гораздо быстрее.