Здравствуйте! Эксперементирую с асинхронными функциями. Было представление, что при их использовании по аналогии с фоновыми заданиями не блокируется работа пользователя. Но эксперемент показал на коде ниже, что блокируется. Или может я что не так сделал или не правильно понял?
НаКлиенте
Асинх Функция КомандаИсполнение()
М = Новый Массив;
М.Добавить(1);
М.Добавить(2);
М.Добавить(3);
Для Сч = 1 По 10000000 Цикл
А = 1;
КонецЦикла;
Возврат М;
КонецФункции
&НаКлиенте
Асинх Процедура Команда1(Команда)
А = КомандаИсполнение();
Массив = Ждать А;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Асинхронное программирование в 1С через использование классов .Net из Native ВК
- Пример внешней печатной формы с шаблоном Word с использованием асинхронных методов
- Асинхронная запись и чтение файла без использования модальных методов и временных файлов
- Семеро одного не ждут? Асинхронное исследование асинхронности
- Использование асинхронных методов в платформе «1С:Предприятие 8»
Найденные решения
(5) несколько лет назад хром перестал поддерживать блокирующие пользовательский интерфейс вызовы. Безопасность.
И с тех пор в браузерах перестали работать такие методы как Вопрос(...), так как блокировали UI. Вот и ввели асинхронные методы.
А то что колёсик крутится, это не означает блокировку UI. Просто поток загружен полностью. Вот и похоже на блокировку, но это не так. Это как при полной загрузке процессора и памяти в винде, тоже колесик... но это не означает блокировку. Просто ресурсов не хватает.
И с тех пор в браузерах перестали работать такие методы как Вопрос(...), так как блокировали UI. Вот и ввели асинхронные методы.
А то что колёсик крутится, это не означает блокировку UI. Просто поток загружен полностью. Вот и похоже на блокировку, но это не так. Это как при полной загрузке процессора и памяти в винде, тоже колесик... но это не означает блокировку. Просто ресурсов не хватает.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Никто и не обещал другого.
Асинх это продолжение асинхронных методов реализованных ранее.
Это не параллельное выполнение. Клиент всегда выполняется в одном потоке.
Если Клиент полностью загружен, то полностью загружен.
Единственное предназначение асинхронных методов, это выполнения кода там, где запрещены синхронные методы. Но ни разу не параллельность выполнения.
Ну и еще, такая фича. Попробуйте во время выполнения кода понажимать на доступные пункты меню...
Но эксперемент показал на коде ниже, что блокируется.
Никто и не обещал другого.
Асинх это продолжение асинхронных методов реализованных ранее.
Это не параллельное выполнение. Клиент всегда выполняется в одном потоке.
Если Клиент полностью загружен, то полностью загружен.
Единственное предназначение асинхронных методов, это выполнения кода там, где запрещены синхронные методы. Но ни разу не параллельность выполнения.
Ну и еще, такая фича. Попробуйте во время выполнения кода понажимать на доступные пункты меню...
(3)Да это понял. Изучил статью по асинхронным методам, там говорится, что это ввели больше из за того, что веб разработка там все на асинхронности. Но я не могу сложить в месте все это, почему так. Как относится асинхронность в коде браузера как понимаю java script и то, что если бы у нас не было асинхронности, как раньше и код выполнялся бы полностью последовательно. Тут нет понимания на примере конкретном каком-то. Можете с этим помочь, понять?
(5) несколько лет назад хром перестал поддерживать блокирующие пользовательский интерфейс вызовы. Безопасность.
И с тех пор в браузерах перестали работать такие методы как Вопрос(...), так как блокировали UI. Вот и ввели асинхронные методы.
А то что колёсик крутится, это не означает блокировку UI. Просто поток загружен полностью. Вот и похоже на блокировку, но это не так. Это как при полной загрузке процессора и памяти в винде, тоже колесик... но это не означает блокировку. Просто ресурсов не хватает.
И с тех пор в браузерах перестали работать такие методы как Вопрос(...), так как блокировали UI. Вот и ввели асинхронные методы.
А то что колёсик крутится, это не означает блокировку UI. Просто поток загружен полностью. Вот и похоже на блокировку, но это не так. Это как при полной загрузке процессора и памяти в винде, тоже колесик... но это не означает блокировку. Просто ресурсов не хватает.
(7)Все теперь кажись понял. Т.е. когда происходит допустим синхронное последовательное соединение допустим http протоколом, то пока все не выполниться в браузере, то не разблочиться у них. А асинхнонно если то сторона 1с уходит дальше по коду и не блокирует сторону браузера. Спасибо
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот