Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 19029|Odpowiedź: 0

[Źródło] C# wykonuje bezpieczne operacje przechodzenia w środowisku wieloowątkowym

[Skopiuj link]
Opublikowano 18.10.2016 13:55:48 | | |

W tym artykule używa List jako obiektu operacji
MSDN oficjalnie podaje oświadczenie o bezpieczeństwie wątku List:
Ten typ publicznego członka statycznego jest bezpieczny dla wątków. Jednak żaden członek instancji nie może być gwarantowany bezpieczeństwa wątkowego.
Dopóki kolekcja nie jest modyfikowana, List może obsługiwać wiele czytelników jednocześnie. Wyliczanie przez zbiór nie jest z natury procesem bezpiecznym dla wątków. W rzadkich przypadkach, gdy enumeracja konkuruje z jednym lub kilkoma dostępami do zapisu, jedynym sposobem na zabezpieczenie wątków jest zablokowanie kolekcji na cały czas trwania wyliczania. Aby umożliwić wielu wątkom dostęp do kolekcji do operacji odczytu i zapisu, musisz wdrożyć własną synchronizację.
Jeśli nie synchronizujesz?
Jeśli jeden wątek wykona operację usunięcia, a wątek operację przeszukiwania, to podczas procesu przeszukiwania kolekcja zostaje zmodyfikowana, co spowoduje pojawienie się wyjątku InvalidOperationException z podpowiedzią: kolekcja została zmodyfikowana; Operacje enumeracyjne nie mogą być wykonywane.
Jak synchronizować, aby zapewnić bezpieczeństwo przemieszczania się
Strefy krytyczne, mutexe są tutaj używane do zabezpieczenia procesu przechodzenia przez wątki, przykładowy kod jest następujący:






Poprzedni:Rozwiązanie błędu podpisu jssdk na oficjalnym koncie WeChat pod chińskim Unicom
Następny:asp.net Globalne obsługiwanie i logi wyjątków MVC
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com