- Регистрация
- 31.01.2016
- Сообщения
- 25
- Благодарностей
- 4
- Баллы
- 3
Наверняка это уже спрашивали, но не могу на форуме найти эту информацию.
Нужно хранить объект, который будет доступен всем инстансам проекта, однако ничего не получается сделать.
Я вижу три пути:
И вот что я думаю:
1) Через глобальные переменные мне удалось это сделать. Используя lock(CommonCode.SyncObject) я загружаю в переменную данные, заставляя остальные потоки (инстансы) ждать. Но здесь я могу работать только с текстовыми значениями. Сложный объект я положить в такую переменную не могу.
2) project.Context казался для меня очевидным выбором и я думал, что проблем с этим не будет, однако несмотря на то, что первый инстанс также лочит SyncObject и кладет в контекст нужные данные, все остальные потоки считают что этой переменной в контексте нет и делают то же самое.
Что не так? Мне надо синхронизироваться на чем-то другом? Или это и не будет работать?
3) Static var, как мне кажется, отработает как надо, но все-таки не хочется использовать статическую переменную для хранения сложного объекта. Или это единственный выход?
Заранее спасибо за помощь.
Нужно хранить объект, который будет доступен всем инстансам проекта, однако ничего не получается сделать.
Я вижу три пути:
- GlobalVariables
- project.Context
- static var
И вот что я думаю:
1) Через глобальные переменные мне удалось это сделать. Используя lock(CommonCode.SyncObject) я загружаю в переменную данные, заставляя остальные потоки (инстансы) ждать. Но здесь я могу работать только с текстовыми значениями. Сложный объект я положить в такую переменную не могу.
2) project.Context казался для меня очевидным выбором и я думал, что проблем с этим не будет, однако несмотря на то, что первый инстанс также лочит SyncObject и кладет в контекст нужные данные, все остальные потоки считают что этой переменной в контексте нет и делают то же самое.
Что не так? Мне надо синхронизироваться на чем-то другом? Или это и не будет работать?
3) Static var, как мне кажется, отработает как надо, но все-таки не хочется использовать статическую переменную для хранения сложного объекта. Или это единственный выход?
Заранее спасибо за помощь.