Multithreaded Programming - Threading Issues
8 belangrijke vragen over Multithreaded Programming - Threading Issues
Wat is het verschil tussen asynchronous cancellation en deffered cancellation van een thread?
Bij asynchronous cancellation wordt de target thread meteen beëindigd, terwijl bij deferred cancellation de target thread zelf periodiek controleert of deze beëindigd moet worden.
Een nadeel van asynchronous cancellation is het risico van inconsistente data als de target thread op een ongelukkig moment wordt beëindigd.
Wat is het verschil tussen een synchronous signal en een asynchronous signal?
Van een synchronous signal is sprake als het proces dat het signaal veroorzaakte tevens de ontvanger van het signaal is. Een asynchronous signal ontstaat buiten het proces.
Noem vier mogelijkheden voor het afhandelen van signals in een multithreaded programma
- Het signaal wordt afgeleverd bij de thread waarop het van toepassing is. Het gaat dan om een synchronous signal.
- Het signaal wordt afgeleverd bij elk thread van het proces
- Het signaal wordt afgeleverd bij bepaalde threads van het proces
- Het signaal wordt afgeleverd bij een speciale thread die alle signalen ontvangt
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Wat is de functie van de APC (Asynchronous Procedure Call) facility in Windows?
De APC facility maakt het voor een user thread mogelijk om een functie te specificeren die aangeroepen moet worden als de user thread een notificatie van een bepaalde gebeurtenis ontvangt. Dit is te vergelijken met een asynchronous signal in UNIX.
Wat is een thread pool?
Een thread pool is een verzameling threads die van tevoren zijn aangemaakt en geactiveerd worden als dat nodig is
Noem twee voordelen van thread pools
- Een bestaande thread activeren is sneller dan een nieuwe thread aanmaken
- Het aantal threads kan worden beperkt, zodat overbelasting voorkomen wordt
Wat is de functie van een lightweight process (LWP)?
Een LWP is een structuur die in many-to-many en two-level modellen geplaatst wordt tussen de user threads en de kernel threads, teneinde het aantal kernel threads optimaal af te stemmen. LWP's hebben dus een functie bij de coördinatie tussen de user-thread library en de kernel.
Scheduler activation is een schema voor de afstemming tussen de user-thread library en de kernel. Hoe werkt dit schema?
De kernel levert de applicatie een aantal virtuele processors (LWP's). De applicatie koppelt user threads aan de LWP's. Als er een bepaalde gebeurtenis optreedt informeert de kernel de applicatie hierover via een upcall. Deze upcalls worden door de thread library afgehandeld door middel van upcall handlers, die uitgevoerd worden op de virtuele processors.
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