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: 19792|Odpověď: 0

[Zdroj] Použití SyncRoot ve StringDictionary

[Kopírovat odkaz]
Zveřejněno 23.11.2016 14:26:38 | | | |

C# objektově orientované programování poskytuje mnoho uživatelsky přívětivých operačních tříd, tento StringDictionary je kolekce tříd specializujících se na ukládání řetězců jako klíčů a hodnot, význam této třídy je: C# ví, že řetězec v daném typu hodnoty je poměrně rozšířený, jiné typy hodnot lze také převést na odpovídající typy řetězců, to je význam této kolekce, ale stále můžete použít jiné objekty kolekce k jejich nahrazení, ale věnujte pozornost jednomu bodu, Pokud jde o úložiště řetězců, může to snížit ztrátu paměti a zkrátit dobu potřebnou k spuštění programu


SyncRoot lze použít k synchronizaci přístupu ke StringDictionary

Upřímně řečeno, je to koncept zámku, pojďme napsat program, který ho otestuje:

Kód je následující:



Máme dvě vlákna současně, která přidávají data do slovníku StringDictionary,

Rozdíl v době provedení mezi prvním a druhým vláknem je jedna sekunda, aby se časový rozdíl zvětšil a zabránilo se příliš rychlému vykonávání výkonu.

Vidíte, že vlákna přešla na obě metody a při přidávání druhého data čekají na přidání prvního data, než přidají druhá, a doba přidání je velmi rychlá.

Níže ji napíšeme jinak, aby byla snáze pochopitelná:





Otevřou se 3 vlákna, data se přičtou a všechna 3 vlákna se spustí téměř současně, ale po přidání dat jsou všechna od sebe vzdálena 10 sekund.

Shrnuto, při vícevláknovém přístupu můžeme použít SyncRoot k zajištění bezpečnosti vláken




Předchozí:Jak používat WPF Trigger pro přepínání tlačítek
Další:c# Použijte OCR k rozpoznávání čínských obrázků
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