Работа с переменной в разных потоках - 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();
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д