Загрузка...

Задача на потоки C#

Тема в разделе C# создана пользователем chavarria 2 дек 2022. 278 просмотров

  1. chavarria
    chavarria Автор темы 2 дек 2022 </> Python разработка - /threads/6461606 522 17 мар 2018
    Первый поток считывает данные из текстового файла. Если считается число, оно передается во 2-й поток, если слово – в 3-й. Второй поток находит максимум и минимум получаемых чисел и выводит эти данные на экран. Третий поток находит слово с максимальным количеством гласных букв и выводит его на экран.
     
  2. vtlstolyarov
    vtlstolyarov 3 дек 2022 468 8 янв 2022
    chavarria, Под "потоком" имеется в виду thread или task? В какой момент времени потоки выводят инфу на экран - после обработки каждого нового значения или в конце после того как весь файл прочитан? есть код который ты набросал но в нем что-то не работает или ты хочешь чтобы тебе всё написали?
     
    1. Посмотреть предыдущие комментарии (20)
    2. vtlstolyarov
      chavarria, нет, чел - ты не просто его в кнопку вставил, ты пытаешься обновить значения в элементах формы не из UI потока - это так просто не работает, надо обновлять через Invoke, как-то так
      textBox1.Invoke((MethodInvoker)delegate { textBox1.Text = word; });


      ну и поля для min и max так же
    3. chavarria Автор темы
      vtlstolyarov, проблема не в этом, даже если я вообще вывод убираю, то программа так же намертво зависает при нажатии на кнопку
    4. vtlstolyarov
      chavarria, угу - это я ступил, потоки надо запускать так:
      C#
      var consumers = new[]
      {
      new Thread(() => ConsumeNumbers().Wait()),
      new Thread(() => ConsumeWords().Wait()),
      new Thread(() => ReadAndPublish().Wait()),
      };
    5. Посмотреть следующие комментарии (2)
Top
Загрузка...