
Сравнителна таблица
Основа за сравнение | Мултитаскинг | Multithreading |
---|---|---|
Основен | Многозадачността позволява на процесора да изпълнява няколко задачи едновременно. | Многопоточността позволява на CPU да изпълнява едновременно няколко нишки на процеса. |
Включване | В мултитаскинг процесора често превключва между програмите. | В многопоточната CPU честотата се превключва между нишките. |
Памет и ресурс | В мултитаскинг системата трябва да разпределя отделна памет и ресурси за всяка програма, която се изпълнява от процесора. | В многопоточната система трябва да се разпределя памет към процеса, много нишки от този процес споделят една и съща памет и ресурси, разпределени за процеса. |
Дефиниция на многозадачност
Многозадачността е, когато един CPU изпълнява няколко задачи (програма, процес, задача, нишки) едновременно. За да изпълнява многозадачност, процесорът превключва между тези задачи много често, така че потребителят може да взаимодейства с всяка програма едновременно.
В многозадачна операционна система няколко потребители могат да споделят системата едновременно. Както видяхме, процесорът бързо превключва между задачите, така че е необходимо малко време, за да се премине от един потребител към следващия потребител. Това създава впечатление на потребителя, че цялата компютърна система е посветена на него.

Определение за многопоточност
Многопоточността е различна от многозадачността в смисъл, че многозадачността позволява няколко задачи едновременно, докато Multithreading позволява много нишки от една задача (програма, процес) да бъдат обработвани от CPU по едно и също време.
Преди да изучаваме многопоточността, нека говорим за това, което е нишка? Нишката е основно изпълнително устройство, което има свой собствен програмен брояч, набор от регистър, стек, но споделя кода, данните и файла на процеса, към който принадлежи. Процесът може да има няколко потока едновременно, а процесорът превключва между тези нишки, така че често прави впечатление на потребителя, че всички нишки работят едновременно и това се нарича многонишковост.


Ключови разлики между многозадачност и многопоточност в операционната система
- Основната разлика между многозадачността и многопоточността е, че при многозадачност, системата позволява да се изпълняват множество програми и задачи едновременно, докато при многопоточността системата изпълнява няколко нишки от един и същи или различни процеси едновременно.
- В мултитаскинг процесора трябва да превключвате между няколко програми, така че изглежда, че няколко програми работят едновременно. От друга страна, в многопоточната CPU трябва да превключвате между няколко нишки, за да изглежда, че всички нишки се изпълняват едновременно.
- Многозадачността разпределя отделна памет и ресурси за всеки процес / програма, докато в многонишковите нишки, принадлежащи към един и същ процес, се споделя същата памет и ресурси като този на процеса.
Заключение:
Многозадачността е подобна на мултипрограмирането, докато Multithreading е базирана на нишки многозадачност. Многопоточността е по-евтина от многозадачността, тъй като темите са лесни за създаване, а след това процес.