примеры потока и процесса, чтобы показать разницу

Я прочитал много опубликованных ответов о разнице между темой и процессом в этой ссылке.

В чем разница между процессом и потоком?

Однако, чтобы понять их, все равно нужно абстрагироваться, как и в общей памяти. & разделенная память, кто-нибудь может объяснить это, приведя пример, например, у нас есть программа, какая часть потока и какая часть процесса?

Любая помощь приветствуется.

0

Решение

Допустим, у вас есть глобальная переменная в программе. В многопоточной программе все потоки имеют одну и ту же глобальную переменную, поэтому изменение ее в одном потоке изменит ее во всех потоках. С другой стороны, если вы создаете новый процесс, глобальная переменная является отдельной в разных процессах, и изменения в одном процессе не будут отражены в другом процессе.

1

Другие решения

Позвольте мне привести аналогию здесь.

Вы работаете над одной домашней работой в большой библиотеке. Вы проходите через это, проблема за проблемой. Когда вы закончили с одной проблемой, вы переходите к другой. Это однопоточное, однопроцессное приложение.

Вы заметили, что это довольно медленно, поэтому вы звоните через пару друзей (порождая новые темы). Вы начинаете делать намного больше, так как вы можете работать над несколькими проблемами параллельно, и, поскольку вы все находитесь в одной комнате, вы можете довольно легко общаться друг с другом (Общая память). К сожалению, у вас есть только один справочник, и вы должны продолжать его раздавать (общие ресурсы). Это вызывает аргумент, когда некоторым членам вашей группы нужно одновременно работать над похожими проблемами (конфликт ресурсов, тупики). Затем возникла проблема, когда два члена вашей группы одновременно пытались записать противоречивые ответы и вступили в драку (ошибки параллелизма). Это многопоточность с общей памятью.

Вы понимаете, что есть еще одна копия этого учебника в библиотеке по всему городу. Вы отправляете некоторых из ваших друзей (развить новый процесс) с копией всего, что они сделали до сих пор (копирование памятиотправиться на работу туда. Теперь они могут сделать намного больше и не драться с тобой так часто (меньше конкуренции за ресурсы) но это обходится дорого — они могут разговаривать с вами только по мобильному телефону (межпроцессного взаимодействия) поэтому общение с вопросами и ответами довольно дорого. Кроме того, через некоторое время их ответы больше не похожи на ваши, если вы не тратите много времени на то, чтобы обновлять друг друга, что отнимает много времени (синхронизация). Это несколько процессов.

1

По вопросам рекламы [email protected]