Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

TThread   Найти похожие ветки 

 
Chlavik ©   (2003-02-15 04:20) [0]

Как создать несколько одинаковых потоков и передать каждому какоето значение например строку, строка у кажого потока будет разной ... Не ужели нужно для этого изменять конструктор потока??? Пасиба за help


 
Poirot ©   (2003-02-15 10:37) [1]

ДА!!! Но этож просто
constructor Create(S:String; Suspended:Boolean);
begin
Create(Suspended);
FS:=S;
end;
Ну тут что-то помоему не так... У меня сегодня думалка спит... но принцип такой...


 
Юрий Зотов ©   (2003-02-15 10:39) [2]

TMyThread = class(TThread)
private
FMyData: string;
protected
procedure Execute: override;
public
property MyData: string read FMyData write FMyData;
end;

....

with TMyThread.Create(True) do
begin
MyData := "Привет";
...
Resume
end;


 
Nerpa   (2003-02-15 10:51) [3]

Попробуй так:
type
TMyThread = class(TThread)
private
{ Private declarations }
FParam:string;
protected
procedure Execute; override;
public
property Param:string write FParam;
end;

procedure TMyThread.Execute;
begin
if (Length(FParam)=0) then
FParam:="???";
end;

begin
MyThread := TMyThread.Create(True); // в режиме паузы
MyThread.Param:=IntToStr(Random(1000));
MyThread.Resume;
end;


 
Zelius ©   (2003-02-15 13:57) [4]

Можно и я попробую?? :)

TMyThread = class(TThread)
private
FMyData: string;
protected
procedure Execute: override;
public
constructor Create( aMyData: String; aSuspended: Boolean);
end;

constructor TMyThread.Create( aMyData: String; aSuspended: Boolean);
begin
FMyData := aMyData;
inherited Create(aSuspended);
end;

В такой последовательности поток не обратится к данным раньше чем ты их присваиваешь и никаких доп. действий по синхронизации не нужно!


 
Fiona   (2003-02-17 12:55) [5]

Возможно автору вопроса нужна переменная в блоке threadvar



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-87558
Rom@n
2003-02-15 06:18
2003.02.27
Интерфейс


1-87426
KAS
2003-02-15 15:26
2003.02.27
построения поверхностей и графиков на XYZ-осях


1-87380
sidor
2003-02-16 14:00
2003.02.27
Spinedit1


3-87340
BorisUK
2003-02-10 06:46
2003.02.27
ORA-12571


7-87730
FoxSW
2002-12-26 19:55
2003.02.27
Работа с памятью на низком уровне