none
Запустить цикл в новом потоке RRS feed

  • Вопрос

  • Здравствуйте, в моей программе есть циклы ,которые достаточно долго выполняются. Как запустить его в новом потоке ,чтобы всё окно с программой и сама программа не зависала?
    12 декабря 2014 г. 18:37

Ответы

  • Наверное самый простой вариант:

                new Action(() =>
                    {
                        Console.WriteLine("Hello from another thread...");
                    }).BeginInvoke(null, null);
    

    Если требуется проверить завершилось ли исполнение то следует сохранить IAsyncResult который возвращается при вызове BeginInvoke() или использовать коллбэк. 

    Полный пример можно найти тут:

    http://msdn.microsoft.com/en-us/library/h80ttd5f%28v=vs.110%29.aspx



    This posting is provided "AS IS" with no warranties, and confers no rights.

    12 декабря 2014 г. 19:50
    Модератор