![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое создание потоков TThread [D7]
ppcumax © (2007-06-27 20:22:00)Добрый день, мастера!
Подскажите, пожалуйста. Нужно создать 100 потоков класса TThread, причем на DoWork каждый поток должен выполнять одно и тоже действие. Конечно можно сделать руками, но сами понимаете..., наверное есть какой-то другой способ. Спасибо
Сергей М. (2007-06-28 11:11:00) [1]
> что такое "нуб"?
http://forum.l2server.ru/index.php?s=afce4c215fafe7503f723138fc52149c&showtopic=18492&pid=190840&st=0entry190840
Однокамушкин (2007-06-28 11:01:00) [2]
> SpellCaster (28.06.07 10:31) [23]
> Не мешай, здесь вершится коллективное избиение нуба...
А что такое "нуб"? Много раз уже встречал, общий смысл слова понятен, но что конкртено...
homm (2007-06-28 10:54:00) [3]> нет, ты наверно не правильно понял, мне это нужно в цикл
Это ты не правильно понял. Зачем тебе 100 классов потока? Тебе нужно 100 его экземпляров.
SpellCaster (2007-06-28 10:31:00) [4]> [16] Однокамушкин (27.06.07 21:24)
Не мешай, здесь вершится коллективное избиение нуба...
Johnmen (2007-06-27 21:33:00) [5]...да и экземпляров классане N,...
Однокамушкин (2007-06-27 21:33:00) [6]
> ppcumax © (27.06.07 21:26) [17]
> Буду благодарен если подскажите статью, мануал
Да в [6] уже всё написано...
> Mike Kouzmine © (27.06.07 21:30) [18]
> Это ты рано. Начни с 3го.
Да ладно, хватит над человеком издеваться :)))))) Он ещё не знает, в чём разница между 3-им и 7-ым и может воспринять всё всерьёз...
Johnmen (2007-06-27 21:32:00) [7]
> Буду благодарен если подскажите статью, мануал
Вот, не совсем мануал, да и классов не N, а только 100 - [6].
ppcumax (2007-06-27 21:32:00) [8]
> Это ты рано. Начни с 3го. И обрати внимание на основы языка.
Неужели так трудно дать пример ?
Mike Kouzmine (2007-06-27 21:30:00) [9]ppcumax © (27.06.07 21:22) [14]
> А у тебя какой делбфи?
Delphi 7
Это ты рано. Начни с 3го. И обрати внимание на основы языка.
ppcumax (2007-06-27 21:26:00) [10]
> найти доку, в которой написано как создать N экземпляров
> одного класса
Буду благодарен если подскажите статью, мануал
Однокамушкин (2007-06-27 21:24:00) [11]Зачем вам помещать в цикл объявление класса? Объявление класса - это что-то типа чертежа, по которому потом изготавливаются объекты... Ну и зачем вам сто одинаковых чертежей, если и по оному чертежу вы можете изготовить столько объектов, сколько нужно? Как это делается, написано в [6]...
DrPass (2007-06-27 21:24:00) [12]
> Об этом нигде не пишется
Везде пишется. TThread - это обычный класс. Все, что применимо для обычных классов, применимо и для TThread. И только не говори, что ты не можешь найти доку, в которой написано как создать N экземпляров одного класса
ppcumax (2007-06-27 21:22:00) [13]
> А у тебя какой делбфи?
Delphi 7
> почитать основы языка, и подумать головой
Об этом нигде не пишется. Рассказывают только как делать потоки "руками"
DrPass (2007-06-27 21:20:00) [14]
> я понимаю, что должно быть что-то вроде
>
> for i:=1 to 100 do
> begin
> TMyThread[i] = class(TThread)
> private
> { Private declarations }
> protected
> procedure DoWork;
> procedure Execute; override;
> end;
> end;
Видишь ли, есть два тупейших способа писать программы.
а) пытаться подставлять умные слова наугад
б) просить "приведите пожалуйста код"
...и всего один умный - почитать основы языка, и подумать головой
Mike Kouzmine (2007-06-27 21:19:00) [15]ppcumax © (27.06.07 21:13) [9] А у тебя какой делбфи?
DrPass (2007-06-27 21:18:00) [16]
> while not Terminated do
> Synchronize(DoWork);
Впечатлило. Ты уверен, что тебе действительно потоки нужны?
> statements not allowed in interface part
А не надо воспринимать все буквально. Тут творческий подход нужен
ppcumax (2007-06-27 21:18:00) [17]я понимаю, что должно быть что-то вроде
for i:=1 to 100 do
begin
TMyThread[i] = class(TThread)
private
{ Private declarations }
protected
procedure DoWork;
procedure Execute; override;
end;
end;
но где и как прописать не знаю
ppcumax (2007-06-27 21:13:00) [18]statements not allowed in interface part
Mike Kouzmine (2007-06-27 21:11:00) [19]ppcumax © (27.06.07 21:05) [7]
for i:=1 to 100 do
begin
TMyThread1 = class(TThread)
private
{ Private declarations }
protected
procedure DoWork;
procedure Execute; override;
end;
end;
ppcumax (2007-06-27 21:05:00) [20]
> for i:=1 to 100 do TMyThread.Create(...)
нет, ты наверно не правильно понял, мне это нужно в цикл
TMyThread1 = class(TThread)
private
{ Private declarations }
protected
procedure DoWork;
procedure Execute; override;
end;