Обновить
-11

Пользователь

1
Подписчики
Отправить сообщение

Ну не скажите! 7zip вполне себе нормуль!

Вот как пожал, какой молодец!

Не только любят теории, но превращают их в практику. Если сразу решить ядро задачи, то на частности могут уже ресурсов не выделить.

Зачем сразу изображения жать? Это частности, которые можно закрыть доп контрактами. Сначала надо жать поток передаваемых данных в целом.

Камера трясётся? - резонанс-с.

Без головы - нецелевое использование. Заявителям со справкой из травмы - скидка на ремонт!

Ну тогда я еще спрошу.

await Task.Run(() => asyncTask1());
await Task.Run(new Action(() => asyncTask1()));

Оба варианта вызова дают один и тот же результат, а принципиальная разница в вызове есть? В этих двух случаях анонимная функция без параметров () =>{} принимает тип Func<Task> и Action. А без лямбды можно запустить таску с функцией asyncTask1()? Или без оборачивания в лямбду не обойтись?

Но погодите, обличать, клеймить и критиковать-то можно! А конструктивная критика может быть информативной.

И в примерах тоже ждут ответа от внешнего ресурса. Но в чем принципиальное отличие между ожиданием ответа сервера и выполнением вычислений? В обоих случаях крутится некоторый объем кода.

Я отказался от сторонних апдейтов на UI, т.к. если UI не блокируется, то он спокойно обновляет своё состояние сам. Достаточно обновлять данные в контролах.

Проблема не в том, что предпринять, чтобы не быть обманутым, а в том организационном балагане, где можно проводить СЕКРЕТНЫЕ, мать их, транзакции под честное слово начальника. Хотя мог бы сказать "без проблем, ща всё будет" и провести из запросом через бухгалтерию и фин мониторинг, а морду кирпичом сделать.

Спасибо за подсказку, вот рабочий вариант.

Hidden text
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private Task asyncTask1()
        {
            int n1 = 0;
            while (n1 < 1000000000)
            {
                n1++;
                Invoke(new Action(() => { textBox1.Text = n1.ToString(); }));
                Thread.Sleep(1000); // чтобы не спамил в UI
            }
            return Task.CompletedTask;
        }

        private async void button1_Click(object sender, EventArgs e)
        {
            await Task.Run(() => asyncTask1());
        }
    }

textBox1.Update() не нужен, UI-поток сам обновляет контролы.

Но было такое ощущение, что async/await уже научили задействовать таски под капотом...

Как крутить while отдельно от основной задачи? While тут для имитации действий, где нельзя срезать углы, т.е. все операции и вычисления должны быть произведены полностью и без блокировки формы.

Не обязательно на отдельном вычислительном ядре, ну хоть в отдельном таймслайсе.

была идея создать длительное асинхронное выполнение функции, которая обновляет элементы интерфейса, но не блокирует его основную работу в UI-потоке.

И тут пацаны решили замутить госконтракт на реализацию 7zip

нет нет, постойте... да это же глоток свежего воздуха в индустрии камвхоринга!

Бюджет пополняют чтобы тратить! Если не тратить, то не получится объяснить требование к бюджету, а это моветон в госуправлении.

Телефон в нагрудном кармане тоже не привлекает внимание - проверено, но снимает отлично. Всем пофиг. А очки с камерой, ооооо - шпионское оборудование!

Это правило актуaлизируется с выходом очередного N+1 Pro Max

Большегрузный автомобиль пройдет через 5 таких заграждений, но что-то менять заграждения никто не торопится когда водитель фуры неожиданно просыпается в канаве. Где инфраструктура будущего для грузовиков? Это же очередной распил!

Хотя струйный мог бы лить струйками!

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность