Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 57872|Odpoveď: 7

[Zdroj] c# zapuzdrí univerzálnu QueueHelper frontu

[Kopírovať odkaz]
Zverejnené 29. 8. 2018 10:39:11 | | | |
Pri dennom vývoji môžeme používať fronty, čo je úložná štruktúra schopná dosiahnuť princíp "prvý dnu, prvý von".

Aplikačné scenáre: písanie logov, posielanie e-mailov a podobne

Ak potrebujeme zaznamenať rozhraniový log každého používateľa, ktorý žiada naše dáta, nemusíme zapisovať log zakaždým, keď ho používateľ požiada, môžeme obsah logu vložiť do fronty a nechať ho vykonávať iné vlákna, aby sme neovplyvnili efektivitu aplikácie.

Ďalšou výhodou je, že pridaním dát do fronty v prípade súbežnosti, použitím jedného vlákna na vykonanie dát fronty, môže sa vyhnúť mnohým výnimkám, ak súbežnosť (viacvláknové), prístup k rovnakému fyzickému súboru spôsobí výnimky. (v závislosti od dostupnosti)

Univerzálny prístup queue:

Toto je abstraktná trieda a musíte zdediť túto abstraktnú triedu a implementovať metódu Execute abstraction. Keďže neviem, aký typ dát chcete spracovávať, používajú sa tu generické údaje, teda entita je typu reťazca, parametre metódy typ reťazca a dáta, ktoré spracovávate, sú dáta typu reťazca.

ConcurrentQueue thread-safe queue zaručuje, že v prostredí s viacvláknom nebudú žiadne výnimky.

ManualResetEvent na ovládanie signálu vlákna,V minulosti sme kontrolovali frontu na dáta každých pár sekúnd alebo minútTeraz pridávame dáta do fronty a stačí len preniesť signál!

Použitie:

(Koniec)




Predchádzajúci:Inštalácia Projektu Inštalácia balíkov proces produkcie Chcem skopírovať primárny výstupný súbor
Budúci:Otázka redis čínštiny sa nedá správne zobraziť
 Prenajímateľ| Zverejnené 24. 5. 2019 10:13:59 |
Odporučiť framework:

asp.net pozadie tutoriál frameworku Hangfire
https://www.itsvse.com/thread-7611-1-1.html
(Zdroj: Architect_Programmer)
Zverejnené 10. 9. 2019 10:26:26 |
Prečo sa metóda Execute v Test triede nevykoná, keď ju vykonám?
 Prenajímateľ| Zverejnené 10. 9. 2019 21:52:44 |
hano7758 Zverejnené 10.9.2019 10:26
Prečo sa metóda Execute v Test triede nevykoná, keď ju vykonám?

Môžeš zverejniť svoj kód?
 Prenajímateľ| Zverejnené 23. 1. 2021 11:53:46 |
.NET/C# je založený na pozadí fronty úloh BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html

Zverejnené 26. 7. 2021 14:09:53 |
Ako môžete vidieť kód
Zverejnené 26. 9. 2022 22:20:08 |
Musím sa naučiť, ako ho používať
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com