Показать сообщение отдельно

  #3  
Старый 29.03.2009, 21:08
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от AlexTheC0d3r  
Кто может доходчиво в icq объяснить работу с потоками? буду благодарен
На примере какого языка???\

DELPHI
Каждая прога имеет процесс, в каждом процессе один или более потоков.
вообще потоки - такая весьма мнимая вещь. потому что они всё равно выполняются в процессоре последовательно.
реально параллельно она могут только на 2/4 ядерных работать.

скажем...создаём мы обычное приложение на формах (VCL-application).
Изначально мы имеем только один поток.
А в дельфе предусмотрен такой класс как TThread(вроде встроен, но точно не помню).
Он и управляет пакетами.
NewThread:=TNewThread.Create(true); - запускает поток с именем NewThread( предварительно надо объявить в var).
вся соль в тру/фолс.
тру - автоматически запустить поток
фолс - дождаться команды.
чаще используется тру.

Вот. поток создали. Теперь надо запустить.
Для этого создадим чтото вроде процедуры TNewThread.Execute

Называться должна именно Executr
В неё соответственно выполняем нужные нам действия.

Ещё полезные вещи....
New.FreeOnTerminate :=true/false
определяет будет ли уничтожен поток после завершения работы.

есть ещё NewThread.Priority
в нём приоритет потока указывавется( насколько он важен нам). какие значения принимает не помню.

NewThread.Resume; - ручной запуск потока( равносильно вызову екзекут).

Последний раз редактировалось KaZ@NoVa; 29.03.2009 в 21:20..
 
Ответить с цитированием