Как правильно создать несколько потоков с асинхронными методами?
Мне нужно сделать 2 потока в которых запустить асинхронно методы, как это лучше всего сделать? На данный момент я могу придумать только одно решение:
new Thread(async () => await MyAsyncMethod1()).Start();
new Thread(async () => await MyAsyncMethod2()).Start();
Но смогу ли я отлавливать исключения в таких методах, ведь async () - это void метод, а следовательно я не смогу поймать исключение, если оно там будет. Или я ошибаюсь в суждении?
Ответы (1 шт):
Автор решения: Pavel Mayorov
→ Ссылка
Вы не можете так просто запустить асинхронный метод в потоке, первый же оператор await остановит поток. Потоки - они для синхронных задач, для асинхронных используйте Task.Run
Если вам совсем-совсем нужен выделенный поток - гуглите как писать однопоточный планировщик задач.