Главная страница
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.027 c
3-1121176529
redlord
2005-07-12 17:55
2005.08.28
создание базы данных для конкретной задачи


1-1123237260
officeman
2005-08-05 14:21
2005.08.28
бесконечная запись в файл


14-1123150297
pusrg
2005-08-04 14:11
2005.08.28
Изменение свойства Security для папки?


4-1120551660
Vrit
2005-07-05 12:21
2005.08.28
Как получить информацию об удаленной машине


14-1123314339
Alex Konshin
2005-08-06 11:45
2005.08.28
Электронные географические карты мира