IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Вопрос: Реализация многопотокового приложения (https://www.imho.ws/showthread.php?t=72293)

papoose 30.10.2004 19:32

Вопрос: Реализация многопотокового приложения
 
Кто нибудь подскажет ресурсы(желательно на рус) по реализации многопотоковых приложений или просто подкинет материал по теме. Предпочтение Delphi, С++.

spleenJack 30.10.2004 21:29

papoose
_http://sources.ru/delphi/delphi_system.shtml#14

f00rd 31.10.2004 13:30

Вобщем на Делфях легко работать с потоками =))))

Идешь в File->New->Other...->Thread Object

Вводишь Class Name ( типа TMyThread =))) )

Тыкаешь ок и уже класс потока есть =) Уже есть процедура Execute - она выполняется сразу после создания потока....

Так же есть { Important: ... } там говорится, что просто так к компонентам не добраться, а нужно синхранизировать доступ...

т.е. создаешь процедуру, в которой делается что-то с компонентом, а потом из Execute вызываешь Synchronize(ProcedureName)...

У потока есть свойство FreeOnTerminate:boolean - удалять при остановке или нет, и свойство OnTerminate:TNotifyEvent - процедура, которая вызывается при остановке потока....

Еще, если ты пишешь процедуры Create и OnTerminate, то в них Synchronize не вызываешь!!! а то зависнешь =))))

А в программе юзать тоже лекго:

Код:

var
 Thr:TMyThread;
begin
 Thr:=TMyThread.Create(false);
 ...
 Thr.Suspend;
 ...
 Thr.Resume;
 ...
 Thr.Terminate;
 ...
end;

В Create передается параметр Boolean, который сигнализирует, создать поток приостановленным, или сразу запускать.... (если приостановленным, то потом надо вызвать Thr.Resume)

Thr.Susdend - приостановить выполнение
Thr.Resume - запустить
Thr.Terminate - вырубить


Часовой пояс GMT +4, время: 18:38.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.