Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Помогите завершаются потоки c#

Помогите пожалуйста. Я делаю WinForms чат и добавил асинхронность в код, но в отлдаке все равно пишет про завершение потоков. Еще сообщения перестали выводится в форму. Единственный плюс - перестало зависать приложение, но на этом плюсы закончились. Вот код приложения и клиента https://pastebin.com/iQtR5xn0 , https://pastebin.com/PXBSKiTG

Дополнен

да и еще код сервера если надо https://pastebin.com/k5p5ntDf

Дополнен

вот такое в отладке
Поток 0x2ae0 завершился с кодом 0 (0x0).
Поток 0x514c завершился с кодом 0 (0x0).
Поток 0x4ce4 завершился с кодом 0 (0x0).
Поток 0x571c завершился с кодом 0 (0x0).

По дате
По рейтингу
Аватар пользователя
Мудрец

Ну так, каждая асинхронная задача = поток. А асинхронно выводить сообщения нужно через invoke у элемента

123
  await Task.Run(() => { 
                    textBox1.Invoke((Action)delegate { textBox1.Text = "Загрузка "; }); 
                }); 

Убери await Task.Delay(500). Любые задержки портят работу приложения. Они только в исключительных ситуациях нужны. Вместо них лучше сделать проверку через текущее время