Предположим, у меня есть массив байтов, Private Data as Byte ()
. Этот массив является частным внутри класса. Класс предоставляет открытые функции для чтения и записи в Data
.
К этому классу могут обращаться несколько потоков, поэтому я хочу избежать ситуации, когда чтение из него и запись из него не происходят в в то же время.
На данный момент я использую SyncLock, чтобы избежать проблем. Могу ли я поместить SyncLock Data
только в функции записи, или они должны быть в функциях чтения? Или оба?
Не знаю ' Имейте в виду конкретный пример кода. Мне просто любопытно, есть ли какое-либо преимущество в блокировке для функций чтения и записи, если SyncLock функций записи в первую очередь сделает запись эксклюзивным доступом к ней.