Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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 с целью реализации иного поведения наследника. Иначе - поведение наследника будет в точности повторять поведение предка



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

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

Наверх




Память: 0.48 MB
Время: 0.007 c
1-100014
Snake
2002-01-11 18:00
2002.01.31
Здравствуйте!


3-99875
МаксБ
2001-12-27 11:20
2002.01.31
Paradox


1-99984
helper
2002-01-13 07:03
2002.01.31
Реестр


6-100034
wHammer
2001-11-06 11:43
2002.01.31
Как просканировать доступные ресурсы на сетевой машине?


14-100061
Феликс
2001-12-10 23:18
2002.01.31
Последний герой.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский