Kasdieniame kūrime galime naudoti eiles, kurios yra saugyklos struktūra, kuri gali pasiekti "pirmas į, pirmas išeina".
Taikymo scenarijai: rašyti žurnalus, siųsti el. laiškus ir kt
Jei mums reikia įrašyti kiekvieno vartotojo, prašančio mūsų duomenų, sąsajos žurnalą, mums nereikia rašyti žurnalo kiekvieną kartą, kai vartotojas to prašo, galime įdėti žurnalo turinį į eilę ir leisti kitoms gijoms jį vykdyti, kad nepakenktume programos efektyvumui.
Kitas privalumas yra tas, kad pridedant duomenis į eilę sutapimo atveju, naudojant vieną giją, eilės duomenims vykdyti, galima išvengti daugybės išimčių, jei sutapimas (kelių gijų), prieiga prie to paties fizinio failo sukels išimtis. (priklausomai nuo užimtumo)
Eilės universalus požiūris:
Tai abstrakti klasė, ir jūs turite paveldėti šią abstrakcijos klasę ir įgyvendinti Vykdyti abstrakcijos metodą. Kadangi nežinau, kokio tipo duomenis norite apdoroti, čia naudojami bendrieji žodžiai, tai yra, objektas yra eilutės tipo, metodo parametrai yra eilutės tipo, o apdorojami duomenys yra eilutės tipo duomenys.
"ConcurrentQueue" saugi eilė užtikrina, kad kelių gijų aplinkoje nebus jokių išimčių.
ManualResetEvent gijos signalui valdyti,Anksčiau kas kelias sekundes ar minutes tikrindavome duomenų eilęDabar mes pridedame duomenis į eilę ir tereikia perduoti signalą!
Naudojimas:
(Pabaiga)
|