Взаимодействие между потоками - C# (235583)

Узнай цену своей работы

Формулировка задачи:

Привет. Есть класс А, который содержит не статические методы, которые можно вызвать лишь с главного потока. И есть класс Б, который содержит статический метод. Необходимо из статического метода (который выполняется асинхронно) в классе Б, вызвать не статический метод из класса А. Поясните, пожалуйста, сам алгоритм осуществления выше описанных манипуляций. Спасибки.

Решение задачи: «Взаимодействие между потоками»

textual
Листинг программы
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public Form1 f;
        public void button1_Click(object sender, EventArgs e)
        {
            button1.Text = "123";
            MessageBox.Show("Click");
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            var q=new System.Threading.Thread(()=>B.M(f));
            f = this;
            q.Start();
        }
    }
 
    public static class B
    {
        public static void M(Form1 form)
        {
            form.Invoke(new Action(()=>form.button1_Click(null, null)));
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5
Похожие ответы