Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
ВнизПотоки и поточные преложения... Найти похожие ветки
← →
rimm (2006-08-14 16:49) [0]Для чего впринцепи нужны многопоточные преложения, для чего их разрабатывают, можно ли, писать все на потоках? как реализовать отдельный поток подключения к БД???
Выдрал с книги код, написал не делфях, работает!!! :-) ,,,, но что мне это даёт? Спасёт ли мою программу один поток открытия файла???
procedure TForm1.Button1Click(Sender: TObject);
var
S:TFileStream;
begin
try
S:=TFileStream.Create("files/DBGrid.sql",fmOpenRead);
MainForm.ADOQuery1.SQL.LoadFromStream(S);
finally
S.Free;
end;
end;
← →
tesseract © (2006-08-14 16:52) [1]
> Спасёт ли мою программу один поток открытия файла???
Нет, случай тяжёлый, нужно как минимум 4.
← →
Джо © (2006-08-14 16:52) [2]:)
Вас подвел русский перевод английских понятий Thread и Stream. Это разные потоки. Те, что Thread это еще и "нити" и именно они относятся к понятию "многопоточные приложения".
← →
Marser © (2006-08-14 17:00) [3]TStream не имеет отношения к многопоточности.
← →
rimm (2006-08-14 17:03) [4]Я написал тестовую программу работающую с БД, когда я ее запускаю, в DBGrid наченают загружаться данные (БД- 200000 записей), преходиться ожедать ;0), есть еще кнопка в программе, когда на нее нажимаешь, все записи перегоняются из БД в Memo, все практически висьнет!!
Т.е. форма делфи.. Как "спасти" потоками ( или нитями..) мою програмку..?
Как программу реализовать на потоках?
И чем это поможет?..
← →
evvcom © (2006-08-14 17:06) [5]> [0] rimm (14.08.06 16:49)
> Для чего впринцепи нужны многопоточные преложения
ты книжки почитай... А?
> Выдрал с книги код
Зря... Книжки беречь нужно.
На английском 2 слова: Stream, Thread, на русский один перевод: поток. В первой части [0] речь наверняка идет о TThread, во второй о TStream.
← →
Джо © (2006-08-14 17:06) [6]> в DBGrid наченают загружаться данные (БД- 200000 записей
В DBGrid НЕ НУЖНО загружать 200000 записей. Использование потоков никак не спасает от таких ...кхм... неразумных действий.
← →
tesseract © (2006-08-14 17:06) [7]
> rimm (14.08.06 17:03) [4]
нити загрузку процессора не снизят.
Надо переработать бд.
Например убрать db grid. Или выводить данные порциями через sql-запрос.
← →
iZEN © (2006-08-14 17:06) [8]
> rimm (14.08.06 17:03) [4]
>
> Я написал тестовую программу работающую с БД, когда я ее
> запускаю, в DBGrid наченают загружаться данные (БД- 200000
> записей), преходиться ожедать ;0), есть еще кнопка в программе,
> когда на нее нажимаешь, все записи перегоняются из БД в
> Memo, все практически висьнет!!
> Т.е. форма делфи.. Как "спасти" потоками ( или нитями..)
> мою програмку..?
> Как программу реализовать на потоках?
> И чем это поможет?..
На Delphi нужно изворачиваться. На Java "чуткие интерфейсы" — в порядке вещей.
← →
StriderMan © (2006-08-14 17:10) [9]
> написал тестовую программу работающую с БД, когда я ее
> запускаю, в DBGrid наченают загружаться данные (БД- 200000
> записей), преходиться ожедать ;0), есть еще кнопка в программе,
> когда на нее нажимаешь, все записи перегоняются из БД в
> Memo, все практически висьнет!!
1. Зачем подгружать из БД сразу все 200000 записей?
2. Зачем загружать все в Memo? есть ведь DBGrid
← →
Marser © (2006-08-14 17:13) [10]Автор, а вам про Query что-то известно?
← →
Ketmar © (2006-08-14 17:17) [11]> [8] iZEN © (14.08.06 17:06)
не нужно "изворачиваться". нужно просто правильно код писать.
← →
Marser © (2006-08-14 17:26) [12]> [11] Ketmar © (14.08.06 17:17)
> > [8] iZEN © (14.08.06 17:06)
> не нужно "изворачиваться". нужно просто правильно код писать.
Для перегонки базы в текст никаких извратов не нужно.
← →
iZEN © (2006-08-14 18:11) [13]Ketmar © (14.08.06 17:17) [11],
Marser © (14.08.06 17:26) [12],
я об ЭТОМ (выделено жирным шрифтом):
> rimm (14.08.06 17:03) [4]
> есть еще кнопка в программе,
> когда на нее нажимаешь, все записи перегоняются из БД в
> Memo, все практически висьнет!!
> Т.е. форма делфи.. Как "спасти" потоками ( или нитями..)
> мою програмку..?
> Как программу реализовать на потоках?
> И чем это поможет?..
Попробуйте "отпустить" кнопку на длительной операции в Delphi. Без извратов с отдельной нитью не получится. А ведь нужно ещё не дать повторно выполнить ту же команду, пока не отработает первая команда (не просто задесэйблить кнопку, но предотвратить вызов команды на повторную операцию из других возможных нитей).
← →
VirEx © (2006-08-14 19:12) [14]
> [13] iZEN © (14.08.06 18:11)
читай:
> [11] Ketmar © (14.08.06 17:17)
← →
Marser © (2006-08-15 11:18) [15]> Без извратов с отдельной нитью не получится.
Почему-то никогда не считал это извратом...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c