powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / И снова асинхронность
10 сообщений из 10, страница 1 из 1
И снова асинхронность
    #40105369
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем!
Есть синхронный процес, который обращается к разным БД для получения данных - GetData.
Для уменьшения времени получения данных я использую несколько задач и паралельно их запускаю
Код: c#
1.
2.
3.
4.
5.
var tasks = new List<Threading.Tasks.Task>();
for (var i = 1; i <= 10; i++)
     tasks.Add(Threading.Tasks.Task.Factory.StartNew(LocationSet));

Threading.Tasks.Task.WaitAll(tasks.ToArray());



Вопрос. Если сделать процесс GetData асинхронным получу ли я какую-то выгоду в быстродействии?
Основное время (99,9%) тратится на получения данных ExecuteReader. Если заменить его на ExecuteReaderAsync?
Насколько я понимаю, никакого прироста скорости не должно быть? Или я ошибаюсь?
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105370
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прироста в скорости не будет.
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105371
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW,

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

Threading.Tasks.Task.Factory.StartNew - уже 100500 лет как устарело
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105372
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes
SergiiW,
Threading.Tasks.Task.Factory.StartNew - уже 100500 лет как устарело

Странно, для net 5 указано его использовать https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.tasks.task.waitall?view=net-5.0
А что сейчас вместо него используют?

Спасибо, увидел Threading.Tasks.Task.Run
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105375
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW,
обычно его и по дефолту используют, но не стоит ожидать от него каких-либо космических результатов.
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105381
SergiiW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_sub, спасибо!
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105437
Andromeda777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergiiW,

Практически однозначно будет падение перфоманса. Так как создание нового таска - это затратная операция. В асинхронности дело обычно не в быстродействии.
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105451
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW
А что сейчас вместо него используют?

Спасибо, увидел Threading.Tasks.Task.Run

Это не "вместо", у StartNew и Run разная специфика.
...
Рейтинг: 0 / 0
И снова асинхронность
    #40105467
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я к тому, что если автор обращается в базу данных, то все асинхронные вызовы там есть из коробки, хотя не факт, конечно
...
Рейтинг: 0 / 0
И снова асинхронность
    #40107920
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergiiW
Насколько я понимаю, никакого прироста скорости не должно быть? Или я ошибаюсь?


Всё зависит от того, сколько таких задач вы собираетесь запускать на одной тачке.
Если очень много, тысячи, то прирост перфоманса будет засчёт экономии выч. ресурсов на холостое ожидание, и в пул не упрётесь.

А так-то, кто мешает провести эксперименты?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / И снова асинхронность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]