у меня вопрос про async await task. Есть простая форма с кнопочками и текстбоксами. сильно не пинайте, по кнопке начинаю крутить цикл, и данные показывать в текст бокс. Правильный ли код и подход?
Нет, все плохо
т.е. форма, что бы не висла, надо await Task.Delay(1) делать?
так получается BeginInvoke не нужен? Вы его вычеркнули в методе
Ну раз вычеркнул, значит не нужно
Прочитай про цикл оконных сообщений, про UI поток, и как его не блокировать, и как await разблокирует поток - иначе это для тебя все останется магией. Весь код, который там написан это сплошной антипаттерн, а await delay - это просто костыли которые ему помогают не умирать сразу
я бы с удовольстием прочитал, посоветуйте где
Для фоновых и бесконечных процессов вообще не рекомендуют использовать пулл потоков так как это вызывает голодание у пулла и тупняки при оптимизации. В таких случаях нужно явно создавать поток через thread.
Можно и через Task.Run, TaskFactory
Ну про пул я ничего не писал - это уже автору, возможно виднее надо ли ему пул или не надо, и если надо - то какой, какого размера и с какими параметрами
Так пул потоков всегда есть
Обсуждают сегодня