4 / 4 / 0
Регистрация: 19.08.2013
Сообщений: 138
|
||||||
1 | ||||||
Асинхронное программирование28.04.2018, 18:29. Показов 1400. Ответов 3
Здравствуйте. Написал класс для работа с API сайта, и он работает, что крайне странно, потому что в асинхронном программировании я пока ничего не понимаю. Но есть проблема: судя по тому, как долго выполняется программа, я сделал вывод, что новая итерация цикла в функции GetHashrate() начинается только после окончания предыдущей. То же самое и в цикле GetHashrate(int algo). Получается, программа последовательно отправляет 31*2=62 запроса к API сайта. Как можно это исправить, что бы программа сразу отправляла все запросы?
0
|
28.04.2018, 18:29 | |
Ответы с готовыми решениями:
3
Асинхронное программирование await async Клиент-Серверное приложение, асинхронное программирование Асинхронное программирование: почему в AsyncCallback не указать метод обратного вызова Асинхронное логирование |
1150 / 858 / 263
Регистрация: 30.04.2009
Сообщений: 3,597
|
||||||
29.04.2018, 19:28 | 2 | |||||
Сообщение было отмечено fingolfin_ как решение
Решение
Если не понимаете как работает async await, то лучше не используйте.
Для выполнения параллельно задач из списка используйте Parallel.For:
Добавлено через 3 минуты Данные в результирующем списке будут неупорядочены по индексу algo, т.к. нет гарантии, что все задачи будут заканчиваться поочередно.
1
|
4 / 4 / 0
Регистрация: 19.08.2013
Сообщений: 138
|
||||||
30.04.2018, 15:45 [ТС] | 3 | |||||
Спасибо! Все работает!
Правильно я понимаю, что если написать так, получится уже отсортированный по algo список?
0
|
263 / 224 / 108
Регистрация: 09.12.2015
Сообщений: 652
|
||||||
30.04.2018, 16:55 | 4 | |||||
Если нужен упорядоченный по индексу список, элементы которого создаются параллельно,
то его проще всего получить с помощью Parallel LINQ:
2
|
30.04.2018, 16:55 | |
30.04.2018, 16:55 | |
Помогаю со студенческими работами здесь
4
Асинхронное выполнение Асинхронное выполнение сортировки Асинхронное клиент серверное приложение Как написать асинхронное лямбда-выражение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как в цикле обойти все элементы map в Java
bytestream 25.01.2025
В разработке на Java одной из наиболее востребованных структур данных является интерфейс Map, который предоставляет эффективный способ хранения и управления парами "ключ-значение". Разработчики. . .
|
Для чего нужен UserManager.isUserAGoat() в Android и как это использовать
bytestream 25.01.2025
В мире Android-разработки существует множество интересных и порой загадочных функций, о которых знают далеко не все разработчики. Одной из таких функций является метод UserManager. isUserAGoat(),. . .
|
Как обойти масси в JavaScript. Всё о циклах
bytestream 25.01.2025
JavaScript представляет собой мощный язык программирования, широко используемый в веб-разработке, где массивы и циклы являются фундаментальными концепциями для эффективной работы с данными. Массив в. . .
|
Как сделать, чтобы существующая ветка отслеживала удалённую в Git. Связывание локальных и удалённых веток
bytestream 25.01.2025
В разработке программного обеспечения системы контроля версий стали неотъемлемой частью процесса создания качественного программного продукта. Эти инструменты позволяют разработчикам эффективно. . .
|
Как проверить, что файл НЕ существует с помощью Bash
bytestream 25.01.2025
В системном администрировании проверка существования файлов является фундаментальной операцией, особенно при написании скриптов на Bash. Правильная обработка ситуаций, когда файл отсутствует,. . .
|
Как проверить, что строка пустая, неопределена или null в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript разработчики регулярно сталкиваются с необходимостью проверки строковых значений на различные состояния. Валидация данных является критически важным. . .
|
Как проверить существование ключа в объекте или массиве в JavaScript
bytestream 25.01.2025
При разработке веб-приложений на JavaScript программисты постоянно сталкиваются с необходимостью работать с объектами и массивами. Эти структуры данных являются фундаментальными элементами языка и. . .
|
Как создать ArrayList из массива (array) в Java
bytestream 25.01.2025
При разработке программного обеспечения на языке Java программисты часто сталкиваются с необходимостью эффективного управления наборами данных. Массивы и ArrayList являются двумя фундаментальными. . .
|
Как сгенерировать случайные целые числа (int) в указанном диапазоне в Java
bytestream 25.01.2025
В программировании генерация случайных чисел является важнейшим инструментом для решения множества практических задач. От создания игровых механик до реализации алгоритмов машинного обучения, от. . .
|
Как сделать, чтобы grep выводил строки до и после найденной
hw_wired 25.01.2025
Утилита grep стала незаменимым инструментом для поиска и фильтрации информации в Unix-подобных операционных системах. Эта командная утилита позволяет осуществлять поиск строк, соответствующих. . .
|
Как клонировать определенную ветку в Git
bytestream 24.01.2025
Одной из ключевых функций Git является возможность клонирования веток, что позволяет создавать локальные копии удаленных репозиториев и работать с определенными версиями проекта. Этот механизм. . .
|
Как в цикле обойти строки DataFrame в Pandas Python
bytestream 24.01.2025
DataFrame представляет собой одну из основных структур данных в библиотеке Python Pandas, которая организует информацию в виде двумерной таблицы с строками и столбцами. Эта структура данных особенно. . .
|