Вопрос по Lock в пределах потока

b1zar

Client
Регистрация
29.06.2019
Сообщения
107
Благодарностей
66
Баллы
28
Есть такой код
lock:
List<Action> actions = new List<Action>(){() => Emulation.FullEmulRead(project, instance, instance.ActiveTab.FindElementByAttribute("div", "class", "name", "regexp", 0), 70, 500, 100, 600),
    () => Emulation.FullEmulRead(project, instance, instance.ActiveTab.FindElementByAttribute("h1", "class", "title", "regexp", 0), 70, 500, 100, 600)};

Random rand = new Random();

System.Threading.Tasks.Parallel.For(0, 2, p => {
    Thread.Sleep(rand.Next(10, 100));
    lock(actions) actions[p].Invoke();
});
и лок тут служит для последовательной эмуляции мыши.

Знаю, что методы SyncObjects.ListSyncer и подобные берутся из Global.dll и являются глобальными для потоков и проектов. Но если lock используется для блокировки списка созданного в пределах снипета, то он не станет глобальным и не будет влиять на другие потоки?
 

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