Разлика между нишката и процеса

Тема срещу процес

процес

В света на компютърното програмиране процесът е екземпляр или изпълнение на програма. Всеки процес съдържа програмен код и съществуващата дейност. Може да има повече от една нишка, която може да състави определен процес. Инструкциите могат да се изпълняват едновременно. Това обаче ще зависи от използваната операционна система.

По принцип процесите са силно значими програми. Те консумират значителни количества памет. Следователно те в голяма степен зависят от ресурсите, налични за изпълнение. След като каза всичко това, процесът е известен като "процес в тежка категория".

Всеки процес се извършва на различно място в паметта. Следователно, ако има повече процеси, превключването между всеки процес е много скъпо, тъй като ще отнеме време от всяко разпределение на паметта, за да преминете към друго разпределение. Всеки процес има собствено адресно пространство, което може да натрупа значителни количества доставки.

Процесът е независим от други процеси. Така че, когато родителският процес е модифициран, той не е задължително да повлияе на други процеси. Поради това поведение процесите изискват междупроцесова комуникация, за да могат да общуват със своите братя и сестри.

Освен това процесите, поради техния много по-сложен характер, не се създават с лекота. Това може да изисква известно дублиране на процеси, обикновено родителски процес, за да се постигне изграждането.

нишка

Дори и с минимални системни ресурси, нишките могат да се изпълняват едновременно за постигане на определена задача. Причината е фактът, че нишката е само последователност на изпълнение. Това е просто в рамките на един процес и затова се нарича също „лек процес“.

Той се счита за най-малката част от програмата, тъй като е независим последователен път на изпълнение в рамките на програмата. Контекстното превключване между нишки изисква минимални количества ресурси за разлика от процесите. Темите по същество споделят адресни пространства и те също лесно се създават.

Трябва също да се спомене, че промените, направени в основната нишка, могат да имат ефект върху поведението на другите нишки в рамките на същия процес. Очевидно комуникацията между нишките в един и същ процес е пряка и безпроблемна.

Резюме:

1. Процесът може да съдържа повече от една нишка.
2. Процесът се счита за „тежък“, докато конецът се счита за „лек“.
3. Процесите са силно зависими от наличните системни ресурси, докато нишките изискват минимални количества ресурси.
4. Промяната на основната нишка може да засегне последващите нишки, докато промените в родителския процес не е задължително да засегнат дъщерните процеси.
5. Нишките в процеса комуникират директно, докато процесите не комуникират толкова лесно.
6. Нишките са лесни за създаване, докато процесите не са толкова прости.