|
многопоточность
Большинство приложений сегодня строятся на многопоточной структуре
то есть запуск отдельных потоков процессов выполняющих большой объем операций, это еще более стало актуальным с появлением
мультиядерных и мультипроцессорных систем.
В C# работа с потоками происходит через класс Thread
Сейчас создадим класс который будет выполнять некоторую большую работу
запустим два экземпляра данной работы и посмотрим их параллельное выполнение
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
car mers = new car("Мерс");
car bmw = new car("Бэха");
System.Threading.Thread t1 = new System.Threading.Thread(new System.Threading.ThreadStart(mers.Run));
System.Threading.Thread t2 = new System.Threading.Thread(new System.Threading.ThreadStart(bmw.Run));
t1.Start();
t2.Start();
}
}
class car
{
string _name;
public car(string name)
{
this._name = name;
}
public void Run()
{
for (int i=0;i<10000;i++)
Console.WriteLine(this._name+" "+i);
}
}
}
|
Итак, создается поток, в конструкторе указывается метод который будет выполняться в данном потоке
Запуск потока происходит при выполнении метода Start экземпляра класса thread
на скриншоте можите посмотреть как потоки борятся за процессорное время

Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (2,5 - 4 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
Комментирует Amidamar0 30.01.2012 19:02:18 а можно как то остановить поток из главной програмы ?
|
|