‫Welkom terug en in deze video kijken we naar bedreigingspools, dus daarom gaan we meerdere threads
‫maken en kijken wat er gaat gebeuren.
‫Laten we daarom eerst doorgaan met het maken van een heel eenvoudige thread, en
‫ik ga dit complete bronmateriaal verwijderen.
‫En dus zijn we hier op een heel algemeen draadje.
‫Dus dat is een algemene thread die we tot nu toe hebben gebruikt.
‫En hier wachten we bijvoorbeeld een seconde en het heeft een draad.
‫Nee.
‫En om het te starten, moeten we natuurlijk de startmethode hier tegen het einde aanroepen.
‫Dus nu wordt dit gewoon een draadje en gaat het beginnen.
‫Dus niets nieuws hier.
‫Dat hebben we daar meerdere keren gedaan.
‫Dus het enige verschil is dat ik nu iets zou willen gebruiken dat een thread-pool wordt genoemd.
‫Maar voordat ik dat doe, ga ik gewoon zo'n numerieke en numerieke rekening gebruiken, en ik
‫ga een bereik van nul tot, laten we zeggen, 100 voor nu, twee lijsten en voor elke invoer uitvoeren.
‫Ik zou graag iets willen doen.
‫Dus ik ga gewoon zeggen voer specifieke code uit.
‫Dus dit is eigenlijk maar één regel code.
‫En daarin wil ik threads maken.
‫Dus wat gaat doen, is dat deze opsombare I of deze opsombare eigenlijk meerdere threads gaat maken
‫en er 100 van gaat maken.
‫Dus ik ga hier een link gebruiken.
‫Dus systeemlink gebruiken om de opsombare te gebruiken en aan het einde moet het bereik worden genoemd, zodat we
‫dat zijn.
‫Dus dat is voldoende, het zal gewoon 100 bedreigingen creëren en we zullen al die bedreigingen op de console zien.
‫Laten we daar dus mee aan de slag gaan.
‫En daar zijn we dan.
‫En zoals je kunt zien, begint het de draden en het beëindigt de draden en honderd en twee is de laatste
‫draad.
‫En ik zie dat het met drie begon.
‫Dus het begint met drie, zes, vijf enzovoort.
‫Dus de bestelling is, zoals je kunt zien, heel anders dan we zouden verwachten.
‫Dus de threads, ze hebben een andere ID dan de volgorde waarin we ze zouden verwachten, maar dan zijn ze begonnen
‫en beëindigd en misschien was dat iets te snel.
‫Dus laten we wat meer dreigementen creëren of ik zou zeggen 1000 threads.
‫En zoals je kunt zien.
‫Het creëert tonnen threads, maar threads worden beëindigd voordat andere worden gestart.
‫Er zijn er dus ontelbaar dat het ze begint waar het ze creëert, zo snel als het kan, zo snel als het kan.
‫Maar zoals je kunt zien, duurt het even.
‫Dus laten we zeggen ongeveer honderd milliseconden of zo om een thread te creëren die we zijn, het creëert ze en dan begint
‫het ze af te maken.
‫Dus na één seconde creëerde het zes alleen de draden en vervolgens draad vijf.
‫Dus een van de eersten werd beëindigd.
‫Dus zoals je kunt zien, creëert het die bedreigingen.
‫En dat is niet erg efficiënt, want we hebben die bedreigingen niet onder controle.
‫We hebben deze hoeveelheid bedreigingen niet onder controle.
‫En dat is een heel belangrijk aspect.
‫De dreigingen die je moet hebben om heel, heel voorzichtig en heel precies te zijn bij het werken met dreigingen.
‫Je moet weten wat je wilt doen met die dreiging en blanken daar en hoe je in het algemeen kunt werken met alles
‫wat binnen de dreiging valt.
‫Dus dat is slechts een voorbeeld van bedreigingen, hoe je er meerdere kunt creëren.
‫En het creëerde gewoon duizend van dat soort bedreigingen.
‫En laten we nu eens kijken naar bedreigingspools omdat hun pools een iets andere benadering
‫hebben en bedreigingen gebruiken en ze zijn een beetje veiliger, laten we zeggen, omdat ze geen duizend bedreigingen creëren die
‫niet vereist zijn.
‫Het heeft alleen de bedreigingen die momenteel nodig zijn.
‫Dus laten we hier een bedreigingspool maken.
‫En Q User werkitem.
‫Q is een methode voor uitvoeringsmethode die wordt uitgevoerd wanneer een bedreigingspool beschikbaar komt.
‫Dus alleen als het beschikbaar is, wordt dit uitgevoerd en heeft het hier een object nodig.
‫Dus er zijn hier twee verschillende om callback en object te zien en ik ga het gewoon een oh als
‫een object geven.
‫Zal het maar noemen.
‫Oh, niets bijzonders hier.
‫En wat ga ik uitvoeren in de bedreigingspool.
‫Dus ik ga gewoon zeggen geef me de I. D. van de dreiging of het dreigingsnummer en laten we zeggen wanneer het
‫begon en wanneer het eindigde.
‫Dus dat is zo'n beetje alles wat ik wil doen met deze bedreigingspool.
‫En zoals je hier kunt zien, creëren we niet specifiek, we creëren daar geen bedreigingen.
‫Maar deze bedreigingspool zal dat voor ons doen.
‫Er is dus genoeg werk te doen, zoals duizend bedreigingen die moeten worden aangepakt.
‫En zoals u kunt zien, creëert het slechts een bepaald aantal bedreigingen.
‫En zoals je kunt zien, begint en eindigt het de bedreigingen min of meer tegelijkertijd.
‫En je kunt ook zien dat ik hier niet veel oproepen op mijn CPU heb, omdat deze alleen met een bepaald aantal
‫bedreigingen tegelijk kan werken.
‫Dus de bedreigingspool zal de zaken een stuk soepeler afhandelen, zoals je kunt zien.
‫Maar het kost natuurlijk veel tijd om door al die 1000 bedreigingen heen te komen.
‫Maar zoals ik al zei, als je bedreigingen gebruikt, moet je ze beheersen, dus gebruik niet willekeurig bedreigingen. Het belangrijkste
‫waar je bedreigingen zou gebruiken, is wanneer je iets op de achtergrond doet en je doet iets
‫op de voorgrond.
‫Dus op de voorgrond staat meestal zoiets als de gebruikersinterface.
‫Dus als je WP F gebruikt of als je apps met Gamoran gebruikt of absolutisme creëert, dan wordt alles wat er aan de
‫voorkant gebeurt en dus in de gebruikersinterface gedaan door de hoofdbedreiging en dan of door de gebruikersinterfacebedreiging, en dan zoiets als het
‫downloaden van video's of het downloaden van gegevens in het algemeen van internet of toegang tot gegevens van de
‫harde schijf of van de SD-kaart of wat dan ook.
‫Alles wat even kan duren, ook al is het maar een paar milliseconden of nog
‫een paar, maar enkele milliseconden, dan is dat al iets dat op de achtergrond moet worden gedaan,
‫want anders wordt je gebruikersinterface bevroren omdat, nou ja, het is niet klaar om doe iets omdat de bedreigingen allemaal druk
‫zijn.
‫Oké, dus dat gaat over het maken van bedreigingspools en als je veel dingen te doen hebt, kun je
‫bedreigingspools gebruiken.
‫Er zijn dus verschillende dingen waarmee u rekening moet houden bij het gebruik van bedreigingspools, dus over het algemeen zijn
‫bedreigingspools er om specifiek werk uit te voeren of specifieke werken of werkitems uit te voeren, en ze zullen vrijwel wachten tot de volgende bedreiging gereed
‫is of één bedreiging is gedaan voordat het wordt uitgevoerd begint.
‫De volgende dreiging of voordat deze begint met het volgende werkitem.
‫Dat is dus het voordeel van bedreigingspools, dat ze geen inactieve tijd of slaaptijd hebben waar vrijwel
‫niets gebeurt, omdat er situaties kunnen zijn waarin gewoon niets met uw of uw CPU hoeft te
‫worden gedaan.
‫En dat is helemaal prima, want anders zou het behoorlijk zwaar zijn voor de CPU als deze de hele tijd moet
‫draaien en dingen moet doen of zwaar werk moet doen.
‫Maar probeer over het algemeen gewoon te trekken, het zegt gewoon: OK, als er niets is of als er genoeg ruimte is voor mij om
‫een thread te starten of een bedreiging te creëren, ga ik dat doen en ik ga de dingen uitvoeren die moeten
‫worden gedaan.
‫De bedreigingen in de beheerde bedreigingspool zijn trouwens achtergrondbedreigingen.
‫Dat is hun dreiging is de achtergrond.
‫Eigendom is waar.
‫Dat hebben we dus nog niet eerder gezien.
‫Maar als ik zo'n bedreiging creëer.
‫Dus hier, laat me deze nieuwe dreiging hier vandaan halen.
‫En als ik dat op de achtergrond wil zetten, kan ik dat doen.
‫Zijn achtergrond is dus gelijk aan bijvoorbeeld.
‫Dus dat is hoe ik deze thread op je achtergrond kan zetten en in de wachtrij in deze thread-pool.
‫V Er zijn alleen achtergrondbedreigingen.
‫En het andere punt om te overwegen is dat wanneer de dreiging van hergebruik een dreiging is, wat we hier hebben
‫gezien, dus het vermindert de dreiging, is dat we deze dreigingsbeheerde ID hebben gezien.
‫Het werd veel hergebruikt, waarna de bedreigingspool de gegevens in de lokale opslag van de bedreiging niet wist.
‫Daarom, wanneer een methode de bedreiging, lokale opslag, onderzoekt, kunnen de gevonden waarden overblijven van een
‫eerder gebruik van de bedreigingspool.
‫Dat is dus iets waar we rekening mee moeten houden.
‫Ik zal een link met je delen.
‫We kunnen meer lezen over bedreigingspools en algemeen.