Igapäevases arenduses võime kasutada järjekordi, mis on salvestusstruktuur, mis võimaldab saavutada "esimesena sisse, esimesena välja".
Rakendusstsenaariumid: logide kirjutamine, e-kirjade saatmine jne
Kui peame salvestama iga kasutaja liidese logi, kes meie andmeid küsib, ei pea me iga kord logi kirjutama, kui kasutaja seda soovib, vaid saame logisisu järjekorda panna ja lasta teistel lõimedel seda käivitada, et mitte mõjutada rakenduse efektiivsust.
Teine eelis on see, et andmete lisamine järjekorda samaaegsuse korral, kasutades ühte lõime järjekorra andmete täitmiseks, võib vältida paljusid erandeid; kui samaaegsus (mitmelõimeline) tekitab ligipääs samale füüsilisele failile erandeid. (sõltuvalt saadavusest)
Järjekorra universaalne lähenemine:
See on abstraktne klass ja sa pead selle abstraktsiooniklassi pärima ning rakendama Execute abstraktsiooni meetodi. Kuna ma ei tea, millist tüüpi andmeid sa tahad töödelda, kasutatakse siin üldisi andmeid, st entiteet on stringitüüpi, meetodi parameetrid stringitüüpi ja töötletav andmestik on string-tüüpi andmed.
ConcurrentQueue lõimeturvaline järjekord tagab, et mitmelõimelises keskkonnas erandeid ei ole.
ManualResetEvent, et juhtida lõime signaali,Varem kontrollisime järjekorda andmeid iga paari sekundi või minuti tagantNüüd lisame andmed järjekorda ja piisab ainult signaali edastamisest!
Kasutamine:
(Lõpp)
|