‫Welkom terug.
‫In deze video wil ik het hebben over join and is alive, dus join is een methode die threat of de threat class
‫heeft en die we kunnen gebruiken en is alive is een eigenschap die het heeft.
‫Dus laten we hier een dreiging creëren of eigenlijk voor dreigingen.
‫En ik heb ook twee methoden gemaakt.
‫De dreiging, één functie en de dreiging om te functioneren.
‫En wat ze doen is gewoon zeggen dat ze zijn begonnen.
‫Dus de derde functie begon en probeerde te functioneren.
‫Dus nu kun je doorgaan en dat gewoon kopiëren of het zelf heel snel bouwen en dan kun je doorgaan.
‫Dus hier, zeg gewoon dat de domeinthread is begonnen en aan het einde zal zeggen dat de hoofdthread is beëindigd.
‫Tot nu toe niets nieuws.
‫Als we bijvoorbeeld beginnen met controle vijf, dan blijft de console wakker, de hoofdthread is gestart en de hoofdthread
‫is geëindigd.
‫Druk op een willekeurige toets om door te gaan.
‫OK, dus je kunt zien dat het begon en eindigde en dat gebeurde heel, heel snel.
‫Er gebeurt hier dus niet veel.
‫Laten we daar nu verandering in brengen.
‫Laten we daar wat draadjes in maken.
‫Dus laten we een nieuwe thread maken met de naam Thread One.
‫Dus draad.
‫En om threads te kunnen gebruiken, moeten we systeemthreading implementeren.
‫Dus nu kunnen we threads gebruiken.
‫En ik ga die ene draad één noemen.
‫En wat er gaat gebeuren, is dat het gewoon een nieuwe thread wordt die de thread-functie één of thread
‫één-functie aanroept.
‫Dus ik ga deze code hier gewoon uitvoeren.
‫Het gaat ze gewoon de methode noemen.
‫En dan nog een draadje.
‫Ik ga de draad twee noemen, die ook een draad zal zijn en hier draad om te functioneren.
‫Dus zoals je kunt zien, zijn er meerdere overlord's threads, start geparametriseerde threadstarts en threadstart.
‫Dus degene die we doen is slechts een draadbegin.
‫Begin dus met een threadstart-gemachtigde die de methoden vertegenwoordigt die moeten worden aangeroepen wanneer de thread wordt
‫uitgevoerd.
‫Dit wordt dus onze methode.
‫Dus deze derde of derde functie, die niet echt een methode is, het is een
‫functie omdat het niet binnen een objectgeoriënteerde klasse valt, maar op manieren die doorgaan en die functie creëren.
‫Zoals je kunt zien, heb je de haakjes hier niet nodig, omdat we het hier niet echt een afgevaardigde noemen.
‫Oke.
‫Dus wat we vervolgens moeten doen, is gewoon die threads starten.
‫Dus laten we die draad met één punt beginnen en naar die start rijgen.
‫En ik ga gewoon op de knop drukken, vijf hebben om het te starten en te zien dat de hoofdthread is gestart, de
‫hoofdthread is geëindigd.
‫Eén functie is gestart en probeerde te functioneren.
‫Ze eindigden dus niet omdat we nog geen eindbericht hebben geïmplementeerd.
‫Dus laten we nu doorgaan en de gezamenlijke methode gebruiken voor die twee bedreigingen of bedreigingen, een die zich bij ons voegen en laten we eens
‫kijken wat ons bij gezamenlijke blokkades heeft gevoegd, de aanroepende bedreiging totdat de dreiging die door deze instantie wordt vertegenwoordigd wordt beëindigd
‫terwijl we doorgaan met het uitvoeren van het standaard kom en verzonden bericht pompen.
‫Dus wat we zullen doen is gewoon komen of ons aansluiten bij die twee bedreigingen.
‫Dus deze dreiging met de belangrijkste dreiging, dat is wat deze gezamenlijke methode doet en het blokkeert de belangrijkste dreiging voor
‫die tijd.
‫Dus het wordt genoemd door de belangrijkste bedreiging.
‫Daarom blokkeert het de belangrijkste dreiging.
‫Dus het wordt over het algemeen het blokkeren van de bellende dreiging genoemd.
‫En in ons geval is de bellende dreiging de belangrijkste dreiging, omdat we ons binnen de belangrijkste dreiging bevinden wanneer we deze
‫noemen.
‫Oké, dus wat we dan doen is ook meedoen met de tweede dreiging.
‫Dus voegden we ons bij die twee.
‫En laten we iets op de console schrijven, CW, en laten we zeggen een functie doorvoeren, Don.
‫En laten we hetzelfde doen voor de tweede, dus laten we hem nog een keer uitvoeren en er zal niet veel
‫gebeuren. Druk om vijf uur op de Ctrl-toets, dus mijn console blijft wakker, hoofdthread begon derde functie
‫begon te functioneren en hier zou het moeten worden genoemd dreigen met functie.
‫Oke.
‫Zodat we nu zijn, staat er, OK, derde, introduceren gedaan en daarna is alleen de hoofddreiging gedaan.
‫Dus dat is niets bijzonders en niets nieuws.
‫Het voert die dingen gewoon stap voor stap uit.
‫Dus zo ziet het er hier uit.
‫Maar laten we dan iets interessants doen.
‫Laten we hier een slaapplaats toevoegen.
‫Dus laten we de dreiging drie seconden laten slapen.
‫Bedreig slapen dus.
‫Drieduizend milliseconden.
‫En wat dat zal doen, is dat deze methode gewoon de methode zegt, de draad die is gestart
‫en dan drie seconden wacht.
‫Dus laten we het nu opnieuw uitvoeren en laten we het eigenlijk opnieuw uitvoeren met controle om vijf uur.
‫Dus hier begonnen functies.
‫En na een tijdje nadenken, gooi een functie, Dunn reproduceerde die eigenlijk heel snel, zodat één en twee begonnen en
‫na drie seconden kun je die ene functie zien.
‫Dunn probeerde te functioneren, Dunn en de belangrijkste bedreiging eindigde.
‫Dus de rode draad en wacht tot de hoofd- of de derde klaar is.
‫En dat gebeurt omdat we ons hier aansluiten.
‫Dus we sluiten ons aan bij dreiging één en we zeggen: oké, wacht alsjeblieft tot we klaar zijn.
‫Als we nu naar de gezamenlijke methode kijken, zijn er nog andere interessante dingen om te overwegen.
‫Er zijn meerdere overbelastingen.
‫Dus zoals je kunt zien, is er maar één of we hebben nul parameters hier of argumenten die we hebben gegeven, maar
‫er zijn meerdere.
‫Dus we kunnen hier nog een argument aan toevoegen, namelijk de tijd die we willen wachten voordat we verder gaan.
‫Dus hier ga ik gewoon een IV-bedreiging gebruiken die er echt een maakt die een bepaalde hoeveelheid tijd in beslag neemt en
‫zoals je kunt zien, milliseconden time-out.
‫Dus laten we zeggen dat we één seconde wachten en dat we deze dreiging één seconde geven om te beëindigen.
‫En als het dat binnen de tijd doet, zeggen we thread one function done en anders zeggen we zoiets als bedreiging.
‫Een functie was niet binnen een seconde gedaan.
‫Oke.
‫Dus laten we deze verbinding hier wegdoen en laten we eigenlijk al
‫die code hiervoor vervangen.
‫Dus laten we het nu opnieuw uitvoeren.
‫Controle een vijf.
‫Dus frontfunctie, één bedreiging werd niet binnen één seconde gedaan bedreiging om te functioneren naar beneden belangrijkste bedreiging beëindigd.
‫Dus zoals je kunt zien, is het niet binnen de opgegeven tijdsperiode gedaan.
‫Maar laten we hier nog een code aan toevoegen, want we hebben deze dreiging nog nooit gezien, één functie voltooid.
‫Dus laten we iets als thread toevoegen, één functie die terugkomt op main.
‫Dus dat betekent dat het zo goed als klaar is of misschien niet het belangrijkste.
‫Maar de beller, laten we het nog eens herhalen met controle over vijf.
‫Dus de dreiging voor de functie begon, laat me het nog een keer noemen, toen, oké, de belangrijkste dreiging eindigde en dan zie
‫je pas na die tijd, dus pas na drie seconden zei hij dat de functie dreiging één weer kleur
‫kreeg.
‫Dus de belangrijkste dreiging was al gedaan en kwam toen pas terug naar de beller, wat de belangrijkste dreiging was.
‫Pas toen kwam het, nou ja, lijn 30 of eigenlijk daarna.
‫Dus het werd gedaan met de hoofdmethode en pas toen werd deze code hier uitgevoerd.
‫Dus zoals je kunt zien, blokkeerde het de hoofdthread slechts één seconde, het blokkeerde de hoofdthread niet totdat
‫het klaar was.
‫Er staat dus dat de aanroepende thread wordt geblokkeerd totdat de thread die door deze instantie wordt vertegenwoordigd,
‫wordt beëindigd of de opgegeven tijd verstrijkt terwijl er verschillende opmerkingen over worden gemaakt.
‫Hij pompt zo goed, je kunt hier zien dat je kunt zeggen: OK, Myntra, wacht even.
‫En als het niet gebeurt of als de derde dat spul niet afmaakt, dan gaat het door.
‫Dus het gaat samen door twee en dan gaat het gewoon zeggen dat de hoofdthread van de Kamden-thread klaar
‫is en wel, de functie van thread één is nog steeds actief of thread één is nog steeds actief en hij slaapt nog steeds
‫en voert de code daarna uit.
‫Maar dat doet hij niet op tijd, zoals je hier kunt zien.
‫Dus de belangrijkste dreiging wachtte niet meer, zei alleen: oké, ik ga door, ik ga verder
‫zonder jou.
‫Dus dat is het punt van deelnemen aan discussielijnen die je hier kunt zien, zo werkt het.
‫En laten we nu eens kijken naar dit is een eigendom van het leven.
‫Dus als thread één in leven is, dus er is deze eigenschap en zoals je kunt zien, krijgt het een waarde die
‫de uitvoeringsstatus van de huidige dreiging aangeeft, wat betekent is de dreiging gedaan of niet gedaan?
‫Dus hier staat of de dreiging nog steeds actief is, dus als deze nog steeds actief is op het punt waar
‫deze code wordt uitgevoerd, doe dan iets.
‫Dus ik ga gewoon iets schrijven als dreigement dat men nog steeds dingen doet.
‫Dus het is nog steeds bezig met het uitvoeren en uitvoeren van code.
‫En anders ga ik gewoon zeggen dat dreiging één is voltooid.
‫Dus CW-thread één voltooid.
‫Oké, en hier moeten we natuurlijk de string afmaken, laten we het nog eens bekijken.
‫En de hoofdthread eindigde en eigenlijk sloot mijn console.
‫Dus laat ik beginnen met controle bij vijf hoofdthread begon thread één functie begon enzovoort, dus het was
‫niet binnen een seconde gedaan, en probeerde toen te functioneren.
‫Twee was gedaan.
‫Dus er staat: OK, ik ga niet meer wachten.
‫Ik bedoel draad.
‫Dus het voert dan draad twee uit.
‫Die is nog steeds bezig met dingen, dus het betekent dat dreiging men nog in leven is, wordt geëxecuteerd en pas daarna
‫wordt de hoofddreiging beëindigd.
‫Dus deze code wordt hier op regel achtendertig uitgevoerd.
‫En dan wordt onze dreiging, één functie die terugkeert naar kleur, aangeroepen of uitgevoerd.
‫Oke.
‫Dus dat is wat je kunt controleren en gewoon controleren, OK.
‫Is de dreiging levend of niet?
‫En op basis daarvan kun je dingen uitvoeren en dat is best handig.
‫Dus laten we nu zeggen dat we willen zien dat de dreiging nog steeds dingen op een regelmatige basis doet.
‫Dus laten we zeggen dat we het hier voor een lus gebruiken en dat I gelijk is aan nul.
‫Ik blaas 10 I plus plus.
‫Dus binnen die for-lus wil ik deze code uitvoeren.
‫En wat het gaat doen, is gewoon zeggen dat dreiging nog steeds dingen doet en
‫dan gaat het slapen, laten we zeggen driehonderd milliseconden.
‫Dus slaap voor driehonderd, wat betekent dat we daar tien executies van hebben voordat onze dreiging is voltooid.
‫Dus laten we dat nog een keer uitvoeren.
‫Bedreiging één doet nog steeds dingen gedaan en gedaan.
‫En zoals je kunt zien, werd het de tien keer niet uitgevoerd, hoewel de dreigingsslaap er
‫driehonderdtwintig seconden en milliseconden was en deze slechts driehonderd milliseconden.
‫Dus wat toen deed, is dat het een bedreiging uitvoerde die meerdere keren werd voltooid, dus zoals je
‫kunt zien, is er een overlap waar de bedreigingsfunctie terugkomt.
‫Zoals je kunt zien, wordt dit voor Loop pas iets later uitgevoerd.
‫Dus de volgorde is als volgt.
‫Die beginnen we.
‫We beginnen met draad één, wachtten een seconde.
‫Dus je kunt zien dat we deze ene seconde join hebben.
‫Dus we verliezen hier al drie executies van onze slaap, wat betekent dat deze dreiging, een die nog
‫dingen doet, hier eigenlijk maar zes keer wordt uitgevoerd, zeven of zeven keer.
‫En dan komt de dreiging één functie terug omdat het begon.
‫Toen wachtte het een seconde.
‫Er gebeurde toen niets.
‫Pas toen begon het al deze mooie dingen te doen.
‫Dus omdat dit tien keer wordt uitgevoerd, zal het deze slaap meerdere keren uitvoeren totdat het weer kleur krijgt.
‫En deze derde voltooide is super snel uitgevoerd.
‫Het gaat dus niet wachten omdat er geen slaap in zit.
‫Maar dat is over het algemeen wat je met deze levend kunt doen.
‫Dus je kunt over het algemeen kijken, oké, is het het leven, leeft het nog, leeft het nog
‫en doe je dingen terwijl het leeft of doe je andere dingen terwijl het leeft en doe dan niets of iets anders als het klaar
‫is.
‫Dus dat is een heel eenvoudig voorbeeld van het gebruik van join and is alive, en ik hoop dat je het concept kunt begrijpen.
‫Dus tot ziens in de volgende video waar we taken zullen bekijken.