Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];




Вниз

потоки текут 


jorh   (2002-01-15 14:32) [0]

пиплы просвятите : есть такая штука в File\New.. ThreadObject.
Могу ли я использовать ее для создания нескольких потоков или для каждого потока мне необходимо снова создавать ThreadObject



panov   (2002-01-15 14:40) [1]

В модуле описываешь несколько своих классов потомков TThread. Все можно делать в одном модуле.



Владислав   (2002-01-15 14:41) [2]

Можно создать несколько экземпляров.



eraser   (2002-01-15 14:52) [3]

а если наоборот- могу ли я сделать так чтобы один и тот же код выполнялся в разных потоках без переписывания кода . у меня меняются только входные и выходные данные а способ обработки идет непрерывно и он одинаковый.



Владислав   (2002-01-15 14:55) [4]

> eraser (15.01.02 14:52)

Передавай эти данные потоку в конструкторе.



eraser   (2002-01-15 15:04) [5]

исправьте меня если не прав:
1.создать ThreadObject
2. в Execute написать мой код
3. когда делаю Create потока то пишу нужные данные

соответственно вопрос поток то нужен не один как мне создать другой с этим же кодом и как получить результат из каждого потока



Digitman   (2002-01-15 15:19) [6]

соответственно - ответ : поскольку потоки одного класса, каждый из них может хранить рез-ты своей работы в своем экз-ре класса



Юрий Зотов   (2002-01-15 15:22) [7]

И посмотрите класс TThreadList - может пригодиться.



eraser   (2002-01-15 15:32) [8]

эти результаты необходимо мне взять через какое либо объявленное свойство потока ??



Digitman   (2002-01-15 15:34) [9]

разумеется !



eraser   (2002-01-15 15:56) [10]

торможу!! взял для примера Thread из Demos. мучаюсь но все равно не могу никак понять. Описываются разные потоки одного класса и код то разный в каждом потоке (вызывается процедура для каждого потока procedure Tthread1.Sort
procedure Tthread2.Sort)
а мне влом писать код 3 раза (его у меня ого-го)
как не пойму чтобы потоков было несколько а код один?



NailS   (2002-01-15 16:01) [11]

Так же как и для кнопок, TButton класс один
Button1 ... и т.д. может быть много.

Создаются разные объекты одного класса.



eraser   (2002-01-15 16:06) [12]

не понимаю или туплю



Digitman   (2002-01-15 16:13) [13]

>eraser
Вот ты , к примеру, <eraser>. И класс у тебя - TEraser. И дети твои тоже унаследуют твой класс - TEraser. И гены их будут тоже твои (читай - код, твой генетический, непереопределенный ими Execute). И генетическое поведение их тоже будет как у тебя, потому что они - ЭКЗЕМПЛЯРЫ КЛАССА, по образу и подобию которого ты их состругал.



eraser   (2002-01-15 16:21) [14]

с классами то понятно. Вы мне тормозу просто скажите Execute с моим кодом мне написать 1 раз для родительского класса
TBigThread= class(TThread)
protected
procedure Execute; override;
или в каждом TSmall = class(TBigThread)писать Execute????
Простите за ламерство просто с потоками никогда не работал



panov   (2002-01-15 16:24) [15]

Пример:
-------------
TMyThread := class(TThread)
private
FFirstPar: String;
FNextPar: String;
public
constructor Create(const FirstParameter, NextParameter: String);
end;

А при реализации конструктора можно использовать эти параметры:

constructor TMyThread.Create(const FirstParameter, NextParameter: String);
begininherited Create( True);
FreeOnTerminate := True;
FFirstPar := FirstParameter; //Инициализация переменных
FNextPar := NextParameter;
Resume; //Переводим поток в состояние «Активный»
//Далее в процедуре Execute используем эти полученные параметры.
end;

procedure TMyThread.Execute;
begin
...
if FFirstPar=... then ...
if FNextPar=... then ...

...
end;

Создание потоков:
TMyThread.Create("First","Вася");
TMyThread.Create("First","Петя");



Digitman   (2002-01-15 17:05) [16]

>eraser
Общая концепция такова :
если объекты класса TSmall хотят изменить поведение, по-умолчанию определенное методом "родителя" (TBigThread.Execute), то необходимо переопределить метод TSmall.Execute с целью реализации иного поведения наследника. Иначе - поведение наследника будет в точности повторять поведение предка




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.31;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.025 c
3-99869           mcmax                 2001-12-24 23:36  2002.01.31  
SQLPASSTHRU MODE= SHARED AUTOCOMMIT


1-100003          Анатолий              2002-01-12 07:38  2002.01.31  
StringGrid and Chart


3-99918           ЕвгенийА              2001-12-30 19:06  2002.01.31  
Запись в поле...


1-99991           Анатолий              2002-01-14 21:18  2002.01.31  
Выделить маленькие отрезки чисел в большом отрезке чисел?


1-99997           Dmitriy_R             2002-01-08 14:40  2002.01.31  
Подскажите как решить эту задачу с вытаскиванием из строки куска текста.