Talaan ng mga Nilalaman:
Kahulugan - Ano ang ibig sabihin ng Multithreading?
Ang Multithreading ay isang uri ng modelo ng pagpapatupad na nagbibigay-daan sa maraming mga thread na umiiral sa loob ng konteksto ng isang proseso na sila ay nagsagawa ng malaya ngunit ibahagi ang kanilang mga mapagkukunan ng proseso. Ang isang thread ay nagpapanatili ng isang listahan ng impormasyon na may kaugnayan sa pagpapatupad kasama nito ang iskedyul ng priority, exception handler, isang hanay ng mga rehistro ng CPU, at estado ng salansan sa puwang ng address ng proseso ng pagho-host nito.
Ang Multithreading ay kilala rin bilang threading.
Ipinapaliwanag ng Techopedia ang Multithreading
Ang Threading ay maaaring maging kapaki-pakinabang sa isang solong-processor na sistema sa pamamagitan ng pagpapahintulot sa pangunahing thread ng pagpapatupad na maging tumutugon sa pag-input ng gumagamit, habang ang karagdagang thread ng manggagawa ay maaaring magsagawa ng mga pangmatagalang gawain na hindi nangangailangan ng interbensyon ng gumagamit sa background. Ang Threading sa isang system ng multiprocessor ay nagreresulta sa tunay na kasabay na pagpapatupad ng mga thread sa maraming mga processors at sa gayon ay mas mabilis. Gayunpaman, nangangailangan ito ng mas maingat na pagprograma upang maiwasan ang mga hindi intuitive na pag-uugali tulad ng mga kondisyon ng karera, mga deadlock, atbp.
Ang mga operating system ay gumagamit ng pag-thread sa dalawang paraan:
- Pre-emptive multithreading, kung saan ang konteksto ng switch ay kinokontrol ng operating system. Ang paglipat ng konteksto ay maaaring isagawa sa isang hindi naaangkop na oras, Samakatuwid, ang isang mataas na priyoridad na thread ay maaaring hindi tuwirang pre-empted ng isang mababang priority thread.
- Ang kooperatibong multithreading, kung saan ang paglipat ng konteksto ay kinokontrol ng thread. Maaari itong humantong sa mga problema, tulad ng mga deadlocks, kung ang isang thread ay naharang na naghihintay para sa isang mapagkukunan na maging libre.
Ang 32- at 64-bit na mga bersyon ng Windows ay gumagamit ng pre-emptive multithreading kung saan ibinahagi ang magagamit na oras ng processor na ang lahat ng mga thread ay nakakakuha ng pantay na hiwa ng oras at naghahatid sa isang mode na batay sa queue. Sa panahon ng paglipat ng thread, ang konteksto ng isang pre-empted na thread ay naka-imbak at na-reloaded sa susunod na thread sa pila. Ang slice ng oras ay sobrang maikli na ang mga tumatakbo na mga thread ay tila naaangkop sa kahanay.
Ang kahulugan na ito ay isinulat sa konteksto ng Computer Architecture