Какой - нибудь механизм блокировки статических переменных ?
Есть ли какой-либо механизм для блокировки статической переменной, когда другой пользователь обращается к ней, чтобы преодолеть проблему concurreny.
Пример:- User1 доступ к статической переменной, User2 & User3 должен ждать, пока она не будет выпущена User1.
Пожалуйста помочь.
Что я уже пробовал:
Пробовал разные варианты, но статическая переменная требуется, но сталкивается с проблемой при одновременном использовании пользователей.
F-ES Sitecore
Единственный встроенный механизм блокировки статических методов-это когда они являются частью статического конструктора, и в этом случае .net гарантирует потокобезопасность вашего кода. Но за пределами этого все зависит только от вас. Как сказал OG в решении 1, вам нужно будет использовать механизм блокировки, чтобы обеспечить однопоточный доступ к вашим переменным. Возможно, вы захотите сделать это только при их установке.
OriginalGriff
Зависит от того, что это за переменная: например, если это список, вы хотите заблокировать его, когда вы что-то делаете с ним, а не просто устанавливаете его. Например, если один поток находится на полпути к удалению элемента, и вы пытаетесь получить определенный элемент, это может привести к проблемам.
F-ES Sitecore
Хорошая точка.