Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

Как вычислять параллельно?   Найти похожие ветки 

 
grisme ©   (2006-05-03 17:56) [0]

Возникла проблема. Необходимо вычислить время большого числа итераций. Делал таймер так:
 sec:=0;
 timer1.enabled:=true;
 for i:=1 to [...] do [...];
 timer1.enabled:=false;
 caption:=inttostr(sec);
{в коде OnTimer наращиваю sec}
Естесственно,seс выходит равный 0!..( Думаю,надо параллельный какой-нибудь процесс создать...Подскажите плиз как примерно это должно выглядеть...{пример был бы ОЧЕНЬ хорош}


 
Eraser ©   (2006-05-03 18:06) [1]


> grisme ©   (03.05.06 17:56)


var
 t1, t2: TDateTime;
...
t1 := now; // или GetTickCount
<интерации>
t2 := now; // или GetTickCount
t1 := t2 - t1;
ShowMessage(TimeToStr(t1)); // или любая другая ф-я форматирования даты.


 
grisme ©   (2006-05-03 19:02) [2]

Eraser

Пасиба огромное, сразу не дошло...:) А как все-таки(интереса ради) можно вычислять еще параллельно? Создавать отдельный поток?


 
Eraser ©   (2006-05-03 19:10) [3]


> grisme ©   (03.05.06 19:02) [2]

можно.
сколько примерно времени длится вычисление?


 
grisme ©   (2006-05-03 19:31) [4]

примерно минуту.


 
Eraser ©   (2006-05-03 20:00) [5]


> grisme ©   (03.05.06 19:31) [4]

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


var
 i: Integer;
...
i := 0;
Timer1.Interval := 1000;
Timer1.Enabled := true;
<начало создание потока вычислений>
...
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Inc(i);
 label1.Сaption := "Вычисления идут " + inttostr(i) + " секунд";
end;

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


 
grisme ©   (2006-05-03 20:52) [6]

Спасибо, Eraser.;)



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

Форум: "WinAPI";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
15-1151261024
VirEx
2006-06-25 22:43
2006.08.27
JDMClient


2-1154673907
Yegorchic
2006-08-04 10:45
2006.08.27
Сравнение двух слов


1-1152890975
lookin
2006-07-14 19:29
2006.08.27
Чтение/запись сведений в ini-файл через компонент


4-1146841864
Георгий А.
2006-05-05 19:11
2006.08.27
Запуск программы из консольного приложения


15-1153576090
vidiv
2006-07-22 17:48
2006.08.27
Эталон мужской красоты :)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский