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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
4-1120733513
vecna
2005-07-07 14:51
2005.08.28
TEdit + PopupMenu


14-1122904640
oldman
2005-08-01 17:57
2005.08.28
Кто нибудь боролся с Яхой?


9-1114111199
Lostcoder
2005-04-21 23:19
2005.08.28
Разрушаемые объекты


14-1123078775
Константинов
2005-08-03 18:19
2005.08.28
Сбой при дефрагментации HDD.


6-1116149538
Lex_!
2005-05-15 13:32
2005.08.28
Microsoft.XMLHTTP кто работал?





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