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

Асинхронное программирование - это стратегия для отсрочки операций с высокой задержкой или низким приоритетом, обычно в попытке улучшить производительность, скорость отклика и / или совместимость программного обеспечения. Такие стратегии обычно используются, используя некоторую комбинацию управляемого событиями программирования и обратных вызовов, и, возможно, используя параллелизм через сопрограммы и / или потоки.


4
Команда сна в T-SQL?
Есть ли способ написать команду T-SQL, чтобы просто заставить его спать в течение определенного периода времени? Я пишу веб-сервис асинхронно и хочу иметь возможность запускать некоторые тесты, чтобы увидеть, действительно ли асинхронный шаблон сделает его более масштабируемым. Чтобы «насмехаться» над внешней медленной службой, я хочу иметь возможность вызывать SQL-сервер со …

4
WaitAll vs WhenAll
В чем разница между Task.WaitAll()и Task.WhenAll()из Async CTP? Можете ли вы предоставить пример кода для иллюстрации различных вариантов использования?

2
Когда правильно использовать Task.Run, а когда просто async-await
Я хотел бы спросить вас о вашем мнении о правильной архитектуре, когда использовать Task.Run. Я испытываю медленный пользовательский интерфейс в нашем приложении WPF .NET 4.5 (с платформой Caliburn Micro). В основном я делаю (очень упрощенные фрагменты кода): public class PageViewModel : IHandle<SomeMessage> { ... public async void Handle(SomeMessage message) { …

6
HttpClient.GetAsync (…) никогда не возвращается при использовании await / async
Изменить: Этот вопрос выглядит, как будто это может быть та же проблема, но не имеет ответов ... Изменить: в тестовом примере 5 задача застряла в WaitingForActivationсостоянии. Я столкнулся с каким-то странным поведением при использовании System.Net.Http.HttpClient в .NET 4.5, где «ожидание» результата вызова (например) httpClient.GetAsync(...)никогда не вернется. Это происходит только при …

4
Как я могу ограничить Parallel.ForEach?
У меня есть асинхронный цикл Parallel.ForEach (), с помощью которого я загружаю некоторые веб-страницы. Моя пропускная способность ограничена, поэтому я могу загружать только x страниц за раз, но Parallel.ForEach выполняет весь список нужных веб-страниц. Есть ли способ ограничить номер потока или любой другой ограничитель при запуске Parallel.ForEach? Демо-код: Parallel.ForEach(listOfWebpages, webpage …

7
Как отказаться от асинхронного / ожидающего синтаксиса?
Как я могу отклонить обещание, возвращаемое функцией async / await? например, первоначально foo(id: string): Promise<A> { return new Promise((resolve, reject) => { someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400)) }); } Перевести на async / await async foo(id: string): Promise<A> { try{ await someAsyncPromise(); return 200; } catch(error) {//here goes if someAsyncPromise() rejected} return 400; //this …

6
Поймать исключение, выданное асинхронным пустым методом
Используя асинхронную CTP от Microsoft для .NET, возможно ли перехватить исключение, вызванное асинхронным методом в вызывающем методе? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets data from the network and the data is …

8
Запуск нескольких асинхронных задач и ожидание их завершения
Мне нужно запустить несколько асинхронных задач в консольном приложении и дождаться их завершения перед дальнейшей обработкой. Есть много статей, но я, кажется, растерялся, когда больше читаю. Я прочитал и понял основные принципы библиотеки задач, но мне явно не хватает ссылки где-то. Я понимаю, что можно объединить задачи так, чтобы они …

14
Обратный вызов после завершения всех асинхронных обратных вызовов forEach
Как следует из названия. Как мне это сделать? Я хочу позвонить whenAllDone()после того, как цикл forEach прошел через каждый элемент и выполнил некоторую асинхронную обработку. [1, 2, 3].forEach( function(item, index, array, done) { asyncFunction(item, function itemDone() { console.log(item + " done"); done(); }); }, function allDone() { console.log("All done"); whenAllDone(); …

11
Если async-await не создает никаких дополнительных потоков, то как это делает приложения отзывчивыми?
Снова и снова, я вижу, это говорит, что использование async- awaitне создает никаких дополнительных потоков. Это не имеет смысла, потому что единственный способ, которым компьютер может делать больше, чем 1 вещь одновременно На самом деле делать больше, чем 1 вещь одновременно (выполнение параллельно, используя несколько процессоров) Имитация этого путем планирования …

2
В чем разница между асинхронным программированием и многопоточностью?
Я думал, что это в основном одно и то же - написание программ, которые разделяют задачи между процессорами (на машинах с 2+ процессорами). Тогда я читаю это , в котором говорится: Асинхронные методы предназначены для неблокирующих операций. Выражение await в асинхронном методе не блокирует текущий поток во время выполнения ожидаемой …

3
Понимание dispatch_async
У меня есть вопрос вокруг этого кода dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSData* data = [NSData dataWithContentsOfURL: kLatestKivaLoansURL]; [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; }); Первый параметр этого кода dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) Мы просим этот код выполнить последовательные задачи в глобальной очереди, само определение которой состоит в том, что он возвращает глобальную параллельную очередь …

12
Вызов асинхронного метода синхронно
У меня есть asyncметод: public async Task<string> GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } Мне нужно вызвать этот метод из синхронного метода. Как я могу сделать это, не дублируя GenerateCodeAsyncметод, чтобы он работал синхронно? Обновить Пока не найдено разумного решения. Тем не менее, я вижу, что HttpClientуже …

8
Вызов асинхронной функции Javascript синхронно
Во-первых, это очень специфический случай неправильной реализации намеренного преобразования асинхронного вызова в очень синхронную кодовую базу длиной в несколько тысяч строк, и время в настоящее время не позволяет вносить изменения в «делать». это правильно. " Это ранит каждую клеточку моего существа, но реальность и идеалы часто не совпадают. Я знаю …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.