Samenvatting: Leereenheid 8 Threads
- Deze + 400k samenvattingen
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden
Lees hier de samenvatting en de meest belangrijke oefenvragen van Leereenheid 8 Threads
-
1 Leereenheid 8 Threads
Dit is een preview. Er zijn 8 andere flashcards beschikbaar voor hoofdstuk 1
Laat hier meer flashcards zien -
Wat zijn draden en is hun voortgang voorspelbaar
De volgorde van de opdrachten binnen een draad liggen vast. Maar dat geld niet voor de voor de manier waarop de opdrachten in de verschillende draden elkaar afwisselen. Dus onvoorspelbaar ! -
hoe creëer je een draad en hoe starten?
Om de taak van een nieuwe draad te specificeren gebruikt is de package java,lang de interface runnable gespecificeerd.
Deze interface heeft maar 1 methode namelijk de parameter loze methode run. run()
Om de methode run van een runnable project daadwerkelijk in een nieuwe draad te verwerken, moet deze draad gecreëerd en gestart worden. Dit is de taak van de klasse Thread.
code om een draad te creëren en te starten binnen en runnable klasse
Thread thread = new Thread(this);
threat.start();
Een instantie van een runnable klasse wordt als target meegegeven aan de constructor van Thread -
hoe en in welke gevallen kun je een subklasse subklasse van threat kunt gebruiken in plaats van een runnable
4 nogmaals bestuderen nu met de sheets erbij complex ! -
in welke toestanden kunnendraden verkeren en wat zijn de overgangen?
Gecreeerd draad gecreeerd maar niet gestart
Startklaar (runnable) draad is klaar voor verwerking
Bezig (running) de processor is bezig de draad te verwerken
Geblokkeerd draad kan niet verder
Beëindig de draad is klaar, hij bestaat niet meer methode run() is
afgelopen
aanroep van de methode suspend op een startklare of bezige draad maakt dat deze geblokkeerd raak. draad weer startklaar als de methode resume aangeroepen wordt.
Op iedere draad ongeacht de toestand kan de methode stop worden aangeroepen. de verwerking wordt onmiddellijk beëindigd.
Bovenstaande methoden worden bij voorkeur niet gebruikt. -
hoe kun je de verwerking van een draad onderbreken door midddel van de methoden tread.sleep en threat.yield
Een bezige draad kan men onderbreken met Thread.sleep() en Thread.yield()
de programmeur doet dit. Denk aan voorbeeld klok Sleep -
Wat betekend het als een methode of klasse synchronized is?
Dat betekend dat slechts een draad tegelijk toegang heeft tot een instantie van die klasse. Een andere draad kan eerst toegang krijgen als de eerste draad klaar is met de methode. -
Wat betekend concurrency?
Concurrency de processor verdeelt de tijd tussen verschillende taken deze lijken gelijktijdig plaats te vinden maar dat is niet zo.
Bij parallelisme draaien verschillende processen parallel aan elkaar -
Wat betekend target van een treat?
12 -
Wat betekend interleaving?
De processor zal zijn tijd op een of andere manier over de verschillende draden verdelen en van elke draad afwisselend een aantal opdrachten verwerken. Men noemt dit interleaving. -
Wat betekend dispatching?
De overgang van startklaar (gecreëerde draad) naar bezig (draad wordt verwerkt) wordt exclusief bepaald door de scheduler.
Men noemt dit Dispatching.
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden