Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нитка.....


markers ©   (2004-11-24 15:00:00) 

Народ, подскажите пли как сделать простую нитку (Поток) Есть одна функция которая крутится в таймере, она занимает некоторое время (К сожаению)...... Решил сделать в отдлном потоке (Всю жизнь боялся этого момента;() Но как сделать осалютно НЕ ЗНАЮ! Желательно без дополнительного юнита (И так уже пять)... Или хотя бы статейку.... Кстати желательно хоть маленький примерчик;) Плииииз!;) аранее спасибо;)


Alexander Panov   (2004-11-24 16:26:00) [1]

markers ©   (24.11.04 15:34) [5]
Так то работает, но что-то больно сильно стало тормоить..... и в этом потоке сделал уже процессмессадж, всё равно тормазит больше чем было раньше, моет из-а того, что процедуру я в этой нитке выполняю не свою, а от компонента, а там это видимо не предусмотрено чтоли? Подскажите пли;)


Так все зависит от того, что ты хочешь сделать.
И тем паче от компонента, "процедуру" которого ты хочешь выполнить.


Digitman   (2004-11-24 16:25:00) [2]


> markers


поясни как ты себе предствляешь рабору мультизадачной ОС..


wal   (2004-11-24 16:23:00) [3]

У компонента исходники имеются?


markers   (2004-11-24 16:17:00) [4]

Лично мне не важно что это будет, для меня главное что чере 1000 милисикунду делася пинг фукцией соответствующего компонента, и чтоб во время пинга програ не вешаась, работали минюшки и все окна, бе тормозов во время выполения....


wal   (2004-11-24 15:58:00) [5]

А нитка это thread или fiber?


markers   (2004-11-24 15:37:00) [6]

извиняюсь за скушанные буквы, клаву чистить надо :(


markers   (2004-11-24 15:36:00) [7]

то Digitman То что на это тоже следовательно нужно время, но тогда не удет тормозить основной код..... И форма не будет тормоить в этом вся и необходимость


markers   (2004-11-24 15:34:00) [8]

Статьи конечно хорошо, но я себе не ставлю задачу поностью обучится ниткам.... Мне пока достаточно кусочка....
2 Alexander Panov  Так то работает, но что-то больно сильно стало тормоить..... и в этом потоке сделал уже процессмессадж, всё равно тормазит больше чем было раньше, моет из-а того, что процедуру я в этой нитке выполняю не свою, а от компонента, а там это видимо не предусмотрено чтоли? Подскажите пли;)


Digitman   (2004-11-24 15:28:00) [9]


> она занимает некоторое время .. Решил сделать
> в отдлном потоке


.. при этом наивно полагая, что отдельный поток исполняется святым духом, а не ОС, и посему его исполнение не занимает никакого времени ...

так ?


Leonid Troyanovsky   (2004-11-24 15:22:00) [10]


> markers ©   (24.11.04 15:00)  
> Народ, подскажите пли как сделать простую нитку (Поток)
> Есть одна функция которая крутится в таймере, она занимает
> некоторое время (К сожаению)...... Решил сделать в отдлном
> потоке (Всю жизнь боялся этого момента;() Но как сделать
> осалютно НЕ ЗНАЮ! Желательно без дополнительного юнита (И
> так уже пять)... Или хотя бы статейку.... Кстати желательно
> хоть маленький примерчик;) Плииииз!;) аранее спасибо;)

Tutorial on thread programming in Delphi:

http://www.pergolesi.demon.co.uk/prog/threads/ToC.html
http://www.sklobovsky.com/community/index.html

Handling exceptions in a thread:
http://community.borland.com/article/0,1410,10452,00.html

by Tolik Tentser:

http://www.compress.ru/Article.asp?id=2164


markers   (2004-11-24 15:18:00) [11]

Сенкс;)
Сейчас попробую;)


Alexander Panov   (2004-11-24 15:16:00) [12]


type
  SThread= class(TThread)
   protected
     procedure Execute; override;
   public
     constructor Create;
   end; 

constructor SThread.Create;
begin
   inherited Create(True);
  FreeOnTerminate := True;
  Resume;
end;

procedure SThread.Execute;
begin
   while not Terminated do
   begin
    sleep(1000);
   end;
end;


PS. писал прямо здесь, поэтому опечатки могут быть.


Наверх

Титульная страница Поиск, карта сайта Написать письмо