SyncLock on Write? Читать? Или оба?

Предположим, у меня есть массив байтов, Private Data as Byte () . Этот массив является частным внутри класса. Класс предоставляет открытые функции для чтения и записи в Data .

К этому классу могут обращаться несколько потоков, поэтому я хочу избежать ситуации, когда чтение из него и запись из него не происходят в в то же время.

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

Не знаю ' Имейте в виду конкретный пример кода. Мне просто любопытно, есть ли какое-либо преимущество в блокировке для функций чтения и записи, если SyncLock функций записи в первую очередь сделает запись эксклюзивным доступом к ней.

6
задан Brad 7 January 2011 в 01:16
поделиться