.Bind() внутри lock или вне? Как правильно на C#?

  • Автор темы Автор темы Devostator
  • Дата начала Дата начала

Devostator

Client
Регистрация
17.09.2011
Сообщения
289
Реакции
34
Баллы
28
Подскажите пожалуйста.

Какая конструкция более верная?

Вариант 1.
Снаружи:
Развернуть Свернуть Копировать
string Path = project.Variables["Way"].Value;
IZennoList list = project.Lists["spisok"];
list.Bind(Path);

lock (SyncObjects.ListSyncer) {
//какой-то код
    }

Вариант 2.
Внутри:
Развернуть Свернуть Копировать
string Path = project.Variables["Way"].Value;
IZennoList list = project.Lists["spisok"];


lock (SyncObjects.ListSyncer) {
list.Bind(Path);
//какой-то код
    }
 
Не требуется. В любом случае файл для записи не должен совпадать.
 
Не требуется. В любом случае файл для записи не должен совпадать.

Боюсь что вы не так поняли вопрос. Я не спрашивал требуется ли лок для bind, я спросил где именно вставлять bind в случае ситуации с lock конструкцией.
 
Я не спрашивал требуется ли лок для bind, я спросил где именно вставлять bind в случае ситуации с lock конструкцией.
Перед lock. Внутри конструкции lock нужно вставлять то, что требуется лочить
И биндить один и тот же файл к одному и тому же списку достаточно один раз. Т.е. не надо вставлять list.Bind() в каждом месте, где вы собираетесь работать со списком
 
  • Оценить
Реакции: Devostator

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)