Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

redlord   Найти похожие ветки 

 
redlord   (2005-08-07 03:27) [0]

всем привет
народ нужен совет
в проге работают одновременно несколько потоков они собирают разного рода инфу с датчиков и кидают ее в общий для всех
потоков stringlist
в етоже время основной поток проги выбирает ету инфу
while stringlist.count>0 do
s:=stringlist[0];stringlist.delete(0);

и весе бы ничего но уж очень медленно  происходит выборка (удаление  нулевой записи приводит к пересортировке всех строк stringlist)
собираюсь stringlist заменить на  memorystream
но возможноли в нем организовать подобный алгоритм работы когда вытащенная из него инфа автоматически удаляется ?
и приведет ли ето к увеличению скорости работы ?


 
Джо ©   (2005-08-07 03:39) [1]

Интересная тема сообщения... Даже отвечать не хочется, все равно - тему удалят.


 
jack128 ©   (2005-08-07 03:45) [2]

используй не стриг лист, а список.

type
 PStringData = ^TStringData;
 TStringData = record
   s: string;
   Next: PStringData;
 end;

var
 StartItem, EndItem: PStringData;

procedure AddToList(const: string);
var
 p: PStringData;
begin
 New(p);
 p.s := s;
 p.Next := nil;
 if not Assigned(StartItem) then
   StartItem := p;
 if Assigned(EndItem) then
   EndItem.Next := p;
 EndItem := p;      
end;

procedure RemoveFirstItem;
var
 p: PStringData;
begin
 p := StartItem;
 if not Assigned(p) then Exit;
 StartItem := p.Next;
 Dispose(p);
end;

procedure ClearAll;
begin
 while Assigned(StartItem) do
   RemoveFirstItem;
end;


 
Джо ©   (2005-08-07 03:50) [3]

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


 
Юрий Зотов ©   (2005-08-07 03:53) [4]

TThreadList.



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

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
14-1123242647
oldman
2005-08-05 15:50
2005.08.28
И чем это там Веб занимался?... :)))


1-1123329885
Толян
2005-08-06 16:04
2005.08.28
Копирование программы


4-1121014897
pirate
2005-07-10 21:01
2005.08.28
Как считать значение ячейки памяти?


6-1116257359
ValeX
2005-05-16 19:29
2005.08.28
как обновлять поля на сайте


3-1121407660
Леха
2005-07-15 10:07
2005.08.28
Запрос на выборку похожих записей.