Multithreaded Programming - Overview
4 belangrijke vragen over Multithreaded Programming - Overview
Welke zaken deelt een thread met andere threads binnen hetzelfde proces, en welke zaken niet?
Elke thread heeft zijn eigen ID, program counter, registerset en stack. De verschillende threads binnen een proces delen de code section, data section en andere bronnen zoals open files en signals.
Noem vier voordelen van multithreaded programming
- Responsiveness: verhogen reactievermogen van programma's
- Resource sharing: delen van code en data tussen threads
- Economy: het aanmaken of switchen van threads kost minder tijd dan het aanmaken of switchen van processen
- Scalability: betere benutting van meerdere processors of processorkernen
Noem vijf uitdagingen van het programmeren binnen multicoresystenen
- Splitsen van activiteiten in aparte taken
- Gelijkmatig verdelen van activiteiten over taken
- Splitsen van de benodigde data voor de taken
- Afhankelijkheden tussen taken (data dependency)
- Het testen van de verschillende execution paths
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Wat is het verschil tussen parallellisme en concurrency?
Parallellisme houdt in dat meerdere processen tegelijk worden verwerkt, wat impliceert dat het systeem meerdere processoren of processorkernen heeft. We spreken van concurrency als processen slechts schijnbaar tegelijk worden verwerkt door toepassing van interleaving.
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden