Главная страница
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.045 c
1-1123159429
Хрюндель
2005-08-04 16:43
2005.08.28
Памогите перевести такой код из Basic в Delfi


14-1123265414
Galiaf
2005-08-05 22:10
2005.08.28
Удалил случайно.


1-1123242234
Гость22
2005-08-05 15:43
2005.08.28
У кого-нить есть модуль, чтоб делал дату прописью?


14-1122743563
MaksimkaP
2005-07-30 21:12
2005.08.28
Прокси сервер


1-1123585207
kyn66
2005-08-09 15:00
2005.08.28
Контроль видимости левого столбца Грида