Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 57872|Odpověď: 7

[Zdroj] c# zapouzdřuje univerzální frontu QueueHelper

[Kopírovat odkaz]
Zveřejněno 29.08.2018 10:39:11 | | | |
Při každodenním vývoji můžeme používat fronty, což je úložná struktura schopná dosáhnout principu "první dovnitř, první ven".

Scénáře aplikace: psát logy, posílat e-maily atd

Pokud potřebujeme zaznamenat záznam rozhraní každého uživatele, který požaduje naše data, nemusíme pokaždé zapisovat log, když o něj uživatel žádá, můžeme obsah logu vložit do fronty a nechat ho vykonávat jiná vlákna, aby to neovlivnilo efektivitu aplikace.

Další výhodou je, že přidání dat do fronty v případě souběžnosti, kdy se použije jedno vlákno k vykonání dat fronty, se dá vyhnout mnoha výjimkám, pokud souběžnost (vícevláknové) způsobí přístup ke stejnému fyzickému souboru výjimky. (v závislosti na dostupnosti)

Univerzální přístup fronty:

Jedná se o abstraktní třídu a musíte ji zdědit a implementovat metodu Execute abstraction. Protože nevím, jaký typ dat chcete zpracovávat, používají se zde generické údaje, tedy entita je typu řetězce, parametry metody jsou typu řetězce a data, která zpracováváte, jsou data typu řetězce.

ConcurrentQueue bezpečná fronta pro vlákna zajišťuje, že v prostředí s více vlákny nebudou žádné výjimky.

ManualResetEvent pro řízení signálu vlákna,V minulosti jsme frontu kontrolovali na data každých pár sekund nebo minutTeď přidáváme data do fronty a stačí jen předat signál!

Použití:

(Konec)




Předchozí:Nastavit Projekt instalační balíček proces produkce Chci zkopírovat primární výstupní soubor – otázka
Další:Problém s čínštinou redis nelze správně zobrazit
 Pronajímatel| Zveřejněno 24.05.2019 10:13:59 |
Doporučte framework:

asp.net pozadí tutoriál pro hangfire framework
https://www.itsvse.com/thread-7611-1-1.html
(Zdroj: Architect_Programmer)
Zveřejněno 10.09.2019 10:26:26 |
Proč se metoda Execute v testovací třídě nespouští, když ji spustím?
 Pronajímatel| Zveřejněno 10.09.2019 21:52:44 |
hano7758 Zveřejněno 10. 9. 2019 10:26
Proč se metoda Execute v testovací třídě nespouští, když ji spustím?

Můžeš zveřejnit svůj kód?
 Pronajímatel| Zveřejněno 23.01.2021 11:53:46 |
.NET/C# je založen na pozadí fronty úloh BlockingCollection
https://www.itsvse.com/thread-9528-1-1.html

Zveřejněno 26.07.2021 14:09:53 |
Jak vidíte kód
Zveřejněno 26.09.2022 22:20:08 |
Musím se naučit, jak ho používat
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com