
29.03.2009, 21:28
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от KaZ@NoVa
На примере какого языка???\
DELPHI
Каждая прога имеет процесс, в каждом процессе один или более потоков.
вообще потоки - такая весьма мнимая вещь. потому что они всё равно выполняются в процессоре последовательно.
реально параллельно она могут только на 2/4 ядерных работать.
скажем...создаём мы обычное приложение на формах (VCL-application).
Изначально мы имеем только один поток.
А в дельфе предусмотрен такой класс как TThread(вроде встроен, но точно не помню).
Он и управляет пакетами.
NewThread:=TNewThread.Create(true); - запускает поток с именем NewThread( предварительно надо объявить в var).
вся соль в тру/фолс.
тру - автоматически запустить поток
фолс - дождаться команды.
чаще используется тру.
Вот. поток создали. Теперь надо запустить.
Для этого создадим чтото вроде процедуры TNewThread.Execute
Называться должна именно Executr
В неё соответственно выполняем нужные нам действия.
Ещё полезные вещи....
New.FreeOnTerminate :=true/false
определяет будет ли уничтожен поток после завершения работы.
есть ещё NewThread.Priority
в нём приоритет потока указывавется( насколько он важен нам). какие значения принимает не помню.
NewThread.Resume; - ручной запуск потока( равносильно вызову екзекут).
разобрался до тебя, кстати по статейке намного понятнее
но всеравно +
|
|
|