Вопросы с тегом «async»

103
Разве принципы асинхронного / ожидающего использования в C # не противоречат понятиям хорошей архитектуры и многоуровневой абстракции?

Этот вопрос касается языка C #, но я ожидаю, что он охватит другие языки, такие как Java или TypeScript. Microsoft рекомендует лучшие практики по использованию асинхронных вызовов в .NET. Среди этих рекомендаций давайте выберем две: измените сигнатуру асинхронных методов, чтобы они возвращали Task...

31
Асинхронное программирование на функциональных языках

Я в основном программист на C / C ++, а это значит, что большая часть моего опыта связана с процедурными и объектно-ориентированными парадигмами. Однако, как известно многим программистам на C ++, C ++ с годами сместил акцент на стиль функционального esque, завершившийся, наконец, добавлением лямбд...

27
Что определяет, какие функции Javascript блокируют против неблокирующих?

Я работаю с Javascript на основе Интернета (vanilla JS, jQuery, Backbone и т. Д.) Уже несколько лет, а недавно я работал с Node.js. Мне потребовалось некоторое время, чтобы освоить «неблокирующее» программирование, но теперь я привык использовать обратные вызовы для операций ввода-вывода и еще...

24
Зачем вам когда-либо «ждать» метод, а затем немедленно запрашивать его возвращаемое значение?

В этой статье MSDN приведен следующий пример кода (слегка отредактированный для краткости): public async Task<ActionResult> Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Department department = await db.Departments.FindAsync(id); if...

24
Как я могу диагностировать асинхронные / ожидающие тупики?

Я работаю с новой кодовой базой, которая интенсивно использует async / await. Большинство людей в моей команде также довольно плохо знакомы с async / await. Как правило, мы склонны придерживаться рекомендаций Best Practices, указанных Microsoft , но обычно нам нужен наш контекст для прохождения...

22
В какой момент асинхронное чтение дискового ввода-вывода более эффективно, чем синхронное?

Предполагая, что есть некоторый фрагмент кода, который читает файлы для нескольких потребителей, и файлы имеют любой произвольный размер: При каком размере становится более эффективным читать файл асинхронно? Или, другими словами, насколько маленьким должен быть файл, чтобы он быстрее читался...

21
Кто сделал async / await первым?

Python добавил конструкции async / await в 3.5 в 2015 году. Сообщество Javascript сделало шаги в этом направлении на протяжении целого миллиарда лет и, наконец, добавило очень похожую реализацию к проекту в ES8, выпущенном в 2017 году (из моего понимания). Typescript также добавил асинхронные...

17
Вызов нескольких асинхронных служб параллельно

У меня есть несколько асинхронных служб REST, которые не зависят друг от друга. То есть, пока «ожидая» ответа от Service1, я могу позвонить в Service2, Service3 и так далее. Например, смотрите ниже код: var service1Response = await HttpService1Async(); var service2Response = await...

16
Решения для асинхронного повторного входа C # 5

Итак, меня что-то беспокоило в связи с новой поддержкой асинхронности в C # 5: Пользователь нажимает кнопку, которая запускает асинхронную операцию. Вызов немедленно возвращается, и насос сообщений снова начинает работать - вот и весь смысл. Таким образом, пользователь может снова нажать кнопку -...

16
Как асинхронная поддержка C # 5 поможет с проблемами синхронизации потоков пользовательского интерфейса?

Я где-то слышал, что C # 5 async-await будет настолько крутым, что вам не придется беспокоиться об этом: if (InvokeRequired) { BeginInvoke(...); return; } // do your stuff here Похоже, что обратный вызов операции ожидания произойдет в исходном потоке вызывающей стороны. Эрик Липперт и Андерс...

16
BackgroundWorker против Async / Await

Я новичок в разработке на C # и хочу создать более отзывчивый интерфейс. В моем предварительном исследовании я видел два метода для достижения этой цели: Многопоточность в сочетании с классом BackgroundWorker. Более новые модификаторы Async / Await. Новое значит лучше? В чем разница между двумя...

16
Почему C # позволяет вам сделать асинхронную переопределение?

В C # при переопределении метода разрешается делать асинхронное переопределение, когда исходный метод не был. Это похоже на плохую форму. Пример, который привел меня к этому, был следующим - меня привели, чтобы помочь с проблемой нагрузочного теста. Около 500 одновременно работающих пользователей...

14
Как NodeJS может быть «неблокирующим»?

Я изучаю NodeJS и просто хотел кое-что прояснить. В нескольких вводных руководствах и книгах уже очень рано они описали «неблокирующую» архитектуру Node - или, скорее, можно (и рекомендую весь смысл) кодировать неблокирующим образом. Так, например, этот пример был приведен в книге, которую я читаю...

13
Когда я должен использовать StringBuilder или StringBuffer?

В производственном веб-приложении мои коллеги-программисты везде использовали StringBuffer. Сейчас я занимаюсь разработкой и исправлением приложений. После прочтения StringBuilder и StringBuffer я решил заменить весь код StringBuffer на StringBuilder, потому что нам не нужна безопасность потоков в...

12
Лучшие практики при управлении длительными асинхронными заданиями

Я нахожусь в фазе разработки проекта, где конечный пользователь отправит запрос с веб-страницы, которая создаст долго выполняемое асинхронное обработанное задание. Есть ли «лучшая практика» для этой проблемы? Являются ли веб-сервисы и сервисные брокеры хорошим способом? Подходит ли здесь очередь...

12
Готовность против завершения Async IO Использование памяти?

Я смотрел этот разговор о внедрении Async IO в Rust, и Карл упоминал две потенциальные модели. Готовность и Завершение. Модель готовности: вы говорите ядру, что хотите прочитать из сокета делать другие вещи на некоторое время ... ядро говорит вам, когда сокет готов ты читаешь (заполняешь буфер)...

12
Асинхронные контроллеры в ASP.NET MVC: реальные преимущества / как их достичь?

Я работал над статьей об асинхронных методах контроллера в ASP.NET MVC ( http://visualstudiomagazine.com/articles/2013/07/23/async-actions-in-aspnet-mvc-4.aspx ) и думаю, Я могу упустить момент. Рассмотрим этот метод, который я написал, который очень похож на пример из статьи: [HttpGet]...

10
Размытие линий между асинхронными и обычными функциями в C # 5.0

В последнее время я не могу получить достаточно удивительного асинхронного паттерна C # 5.0. Где ты был всю мою жизнь? Я просто в восторге от простого синтаксиса, но у меня есть одна небольшая сложность. Моя проблема в том, что асинхронные функции имеют совершенно другое объявление, чем обычные...

10
Фьючерсы / Монады против событий

В рамках приложения, когда влияние производительности может быть проигнорировано (максимум 10-20 событий в секунду), что является более обслуживаемым и гибким для использования в качестве предпочтительного средства связи между модулями - события или фьючерсы / обещания / монады ? Часто говорят, что...

10
Как вы читаете код с продолжениями / обратными вызовами?

Описание: Существуют ли какие-то хорошо зарекомендовавшие себя шаблоны наилучшей практики, которым я могу следовать, чтобы сохранить мой код читабельным, несмотря на использование асинхронного кода и обратных вызовов? Я использую библиотеку JavaScript, которая делает много вещей асинхронно и сильно...