public Thread(
ParameterizedThreadStart start
)
Сам делегат имеет следующий вид:
public delegate void ParameterizedThreadStart(
Object obj
)
Для запуска потока необходимо воспользоваться методом Start:
public void Start(
Object parameter
)
Рассмотрим пример, в котором создается поток, и в этот поток передается параметр:
Thread t=new Thread(ThreadTask.Task);
t.Start(100); // передаем число 100 в поток
t.Join();
Console.WriteLine("End");
Приведенный выше код является методом Main, который создает поток, запускает его и передает в него данные. После окончания работы потока метод Main также завершает работу.
Теперь посмотрим, что представляет собой делегат:
public static void Task(object data){
int i=(int)data;
Console.WriteLine("Received data: {0}",i);
}
Данный делегат получает данные, которые затем выводит на экран, через метод Start, что позволяет каждый раз, запуская поток, передавать в него новые значения.
Комментариев нет:
Отправить комментарий