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