Pri vsakodnevnem razvoju lahko uporabimo vrste, ki so shranjevalna struktura, ki omogoča "prvi noter, prvi ven".
Scenariji za uporabo: pisanje dnevnikov, pošiljanje e-pošte itd
Če moramo zabeležiti vmesni dnevnik vsakega uporabnika, ki zahteva naše podatke, ni treba vsakič, ko uporabnik to zahteva, zapisovati dnevnik, lahko vsebino dnevnika vstavimo v vrsto in dovolimo, da jo izvedejo druge niti, da ne bi vplivali na učinkovitost aplikacije.
Druga prednost je, da dodajanje podatkov v vrsto v primeru sočasnosti, z uporabo ene niti za izvajanje podatkov vrste, lahko prepreči številne izjeme; če je sočasnost (večnitna), bo dostop do iste fizične datoteke povzročil izjeme. (odvisno od razpoložljivosti)
Univerzalni pristop v vrsti:
To je abstraktni razred, ki ga morate podedovati in implementirati metodo Execute abstraction. Ker ne vem, kakšno vrsto podatkov želite obdelovati, se tukaj uporabljajo generični podatki, torej entiteta je tipa niza, parametri metode so tipa niza, podatki, ki jih obdelujete, pa so vrsta nizov.
ConcurrentQueue thread-safe čakalna vrsta zagotavlja, da v večnitnem okolju ne bo izjem.
ManualResetEvent za nadzor signala niti,V preteklosti smo čakalno vrsto za podatke preverjali vsakih nekaj sekund ali minutZdaj dodamo podatke v čakalno vrsto in moramo le še prenesti signal!
Uporaba:
(Konec)
|