Работа с переменной в разных потоках - C#
Формулировка задачи:
Всем здравствуйте.
Есть у меня некая переменная, объявленная в начале класса(класс Form):
Она изменяется в отдельном потоке, и после того, как этот поток отрабатывается, вызывается некий метод Но проблема в том, что эта переменная в методе ThreadCompleted() уже имеет значение null. Я так понимаю, что при присвоении переменной значения надо использовать оператор lock, но я им раньше не пользовался, так что прошу помоши киберфорумчан.
String text;
ThreadCompleted
, который должен выполнятся уже в основном потоке:this.Invoke(new Action(() => ThreadCompleted()));
Решение задачи: «Работа с переменной в разных потоках»
textual
Листинг программы
string myString; private void Form1_Load(object sender, EventArgs e) { Action complete = () => MessageBox.Show(myString); new Thread(_ => { myString = "456"; Thread.Sleep(3000); // Делаем что-то; complete(); }).Start(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д