Примеры потоковобезопасных классов в .NET Framework? - PullRequest
1 голос
/ 13 мая 2011

Я сейчас работаю над кодом, который должен быть потокобезопасным.Множество асинхронных вызовов, событий и тому подобного, которые, как правило, требуют много усилий для обеспечения синхронизации и поточной безопасности.

Существуют ли какие-либо классы в .NET Framework, которые имеют дело с такого рода вещами, которые я мог бы посмотретьв (декомпилировать), чтобы увидеть, как все должно быть сделано?Чем сложнее, тем лучше ...

Ответы [ 3 ]

6 голосов
/ 13 мая 2011

.NET 4.0 Thread-Safe Collections

Несмотря на то, что книга Джо Даффи ориентирована не на .NET, а на Windows, стоит отметить: Параллельное программирование в Windows

2 голосов
/ 13 мая 2011

MSDN обладает хорошей информацией об асинхронном программировании в .NET.Изучите Шаблоны проектирования асинхронного программирования .

Также ознакомьтесь с классами Monitor и Mutex в System.Threading

0 голосов
/ 13 мая 2011

Есть несколько способов сохранить атомарность. Существуют классы, которые поддерживают фехтование, поэтому код гарантированно выполняется в определенном порядке. Вы можете использовать ключевое слово volatile, чтобы гарантировать, что доступ к переменным является атомарным (чтение из памяти при каждом использовании) и что у вас нет фантомных чтений. Это всего лишь несколько инструментов; Я хотел бы предложить простой Google "атомарный C #, F # .."

...