Сообщение от
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; - ручной запуск потока( равносильно вызову екзекут).