4 / 4 / 0
Регистрация: 19.08.2013
Сообщений: 138
|
||||||
1 | ||||||
Асинхронное программирование28.04.2018, 18:29. Показов 1386. Ответов 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,598
|
||||||
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
Асинхронное выполнение Асинхронное выполнение сортировки Асинхронное клиент серверное приложение Как написать асинхронное лямбда-выражение? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |