Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Когда завершается поток?


Автор: tot 18.3.2009, 15:22
Когда завершится запушенный поток в данном случае?

Каркас приложения следующий:
Код

public class ParsePage {
    
    private returnResult callback;    

    public ParsePage (returnResult callbackDelegate) {    
        callback = callbackDelegate;
    }

    public void process () {
        
        //выполняем полезную работу

        if (callback != null) {
            callback ();
        }
    }
}

public delegate void returnResult ();

ParsePage page = new ParsePage (site, new returnResult (метод));

Thread downloadPage = new Thread (new ThreadStart (page.process));


Запускается один поток, по завершению которго вызывается метод. 
вот так

Код

if (callback != null) {
            callback ();
        }


Запущенный поток завершится только тогда когда метод callback () вернет управление, или он его запускает и завершает свою работу(
не ожидая завершения callback ())?


Автор: -Mikle- 18.3.2009, 15:33
Цитата(tot @  18.3.2009,  18:22 Найти цитируемый пост)
Запущенный поток завершится только тогда когда метод callback () вернет управление

Именно так.

Если нужно иначе, то используй
Код
callback.BeginInvoke(...);

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