Дождаться функции ожидания ⇐ C#
-
Anonymous
Дождаться функции ожидания
Я пытаюсь использовать функцию async/await, но с другой строкой выполнения, и мне хотелось бы знать, возможно ли что-то подобное.
У меня есть следующий код:
Пример публичного класса { публичная недействительность DoSomething() { Console.WriteLine("Начало DoSomething:"); Сделать больше(); Console.WriteLine("DoSomething End:"); } публичный асинхронный недействительный DoMore() { Console.WriteLine("Начать DoMore:"); await Task.Run(() => Thread.Sleep(1000)); Console.WriteLine("DoMore End:"); } } Когда я вызову DoSomething, я получу:
Начало DoSomething: DoMore Начало: Сделайте что-нибудь, закончите: Конец DoMore: Я хочу, чтобы поток, выполняющий DoSomething, неблокирующим способом ждал завершения DoMore, а затем продолжал выполнение DoSomething (что-то вроде использования await при вызове DoMore). Результат должен быть следующим:
Начало DoSomething: DoMore Начало: Конец DoMore: Сделайте что-нибудь, закончите: Я могу использовать следующий код:
Пример публичного класса { общественный асинхронный недействительный DoSomething() { Console.WriteLine("Начало DoSomething:"); await Task.Run(() => DoMore()); Console.WriteLine("DoSomething End:"); } публичный асинхронный недействительный DoMore() { Console.WriteLine("Начать DoMore:"); await Task.Run(() => Thread.Sleep(1000)); Console.WriteLine("DoMore End:"); } } но для DoMore используется другой поток, который мне не нужен.
Я пытаюсь использовать функцию async/await, но с другой строкой выполнения, и мне хотелось бы знать, возможно ли что-то подобное.
У меня есть следующий код:
Пример публичного класса { публичная недействительность DoSomething() { Console.WriteLine("Начало DoSomething:"); Сделать больше(); Console.WriteLine("DoSomething End:"); } публичный асинхронный недействительный DoMore() { Console.WriteLine("Начать DoMore:"); await Task.Run(() => Thread.Sleep(1000)); Console.WriteLine("DoMore End:"); } } Когда я вызову DoSomething, я получу:
Начало DoSomething: DoMore Начало: Сделайте что-нибудь, закончите: Конец DoMore: Я хочу, чтобы поток, выполняющий DoSomething, неблокирующим способом ждал завершения DoMore, а затем продолжал выполнение DoSomething (что-то вроде использования await при вызове DoMore). Результат должен быть следующим:
Начало DoSomething: DoMore Начало: Конец DoMore: Сделайте что-нибудь, закончите: Я могу использовать следующий код:
Пример публичного класса { общественный асинхронный недействительный DoSomething() { Console.WriteLine("Начало DoSomething:"); await Task.Run(() => DoMore()); Console.WriteLine("DoSomething End:"); } публичный асинхронный недействительный DoMore() { Console.WriteLine("Начать DoMore:"); await Task.Run(() => Thread.Sleep(1000)); Console.WriteLine("DoMore End:"); } } но для DoMore используется другой поток, который мне не нужен.
Мобильная версия