Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Вызов callback-метода из основного потока


Автор: WERITAS 30.10.2019, 18:31
Добрый день, кто здесь остался. Имеется консольное приложение (см ниже), как мне сделать вызов колбэк-метода ContinuedExecution из основного потока?

Код

    class Program
    {
        private static void ContinuedExecution()
        {
            Console.WriteLine("[" + Thread.CurrentThread.ManagedThreadId.ToString() + "] Вызов callback");
            Thread.Sleep(3000);
            Console.WriteLine("[" + Thread.CurrentThread.ManagedThreadId.ToString() + "] Завершение callback");
        }
        
        private static async void StartAsync()
        {
            await Task.Run(() =>
                            {
                             Console.WriteLine("[" + Thread.CurrentThread.ManagedThreadId.ToString() + "] Запуск асинхронной операции");
                             Thread.Sleep(5000);
                             Console.WriteLine("[" + Thread.CurrentThread.ManagedThreadId.ToString() + "] Завершение асинхронной операции");
                            }
                          );    
            
            ContinuedExecution();    // <-- Вот этот метод надо вызвать из основого потока, как?                                      
            
            Console.WriteLine("[" + Thread.CurrentThread.ManagedThreadId.ToString() + "] Конец функции");
        }
        
        
        public static void Main(string[] args)
        {
            StartAsync();
            
            for (int i = 1; i < 11; i++)
            {
                Thread.Sleep(1000);
                Console.WriteLine("[" + Thread.CurrentThread.ManagedThreadId.ToString() + "] Прошло " + i.ToString() + " секунд основного потока");
            }                    
            
            Console.Write("\r\nPress any key to continue . . . ");
            Console.ReadLine();
        }        
    }
}

Автор: WERITAS 1.11.2019, 10:48
Уже разобрался, тему можно закрывать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)