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

Вниз

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

 
Sterh ©   (2003-01-22 18:30) [0]

Люди помогите надо организовать оч быстрый поиск файлов.. Например так запускается поток ищет в начальной дире находит вложенные диры запукает 3 нити они шарят во вложенных папках, он смотрит в этой затем переходит во вложенную итд ....


 
Palladin ©   (2003-01-22 19:07) [1]

напиши простой (в смысле не потоковый) метод поиска файлов (процедуру) на входе которого будет путь поиска и условие поиска (маска тобишь)
и пусть этот метод будет рекурсивным.

а после того как все это отработано будет...
заверни в обложку потоков. где вместо рекурсии ессно будет создание однотипного потока с новой директорией.

вопрос по поводу сохранения результата можно решить след. способом

var
FilesCS:TCriticalSection;
Files:TStringList;

procedure AddFile(p_strFullFileName:string);
begin
FilesCS.Enter;
Files.Add(p_strFullFileName);
FilesCS.Leave;
end;

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


 
Anatoly Podgoretsky ©   (2003-01-22 19:15) [2]

Sterh © (22.01.03 18:30)
Твой путь приведет к серьезнрому замедлению, не надо искать паралельно, механика это очень медленная штука.


 
Palladin ©   (2003-01-22 19:21) [3]

Да. Действительно.
Тебе дело говорят.
Самое простое рекурсией пройтись по порядку.
Поиск файлов не по винту идет, а в FAT которая в начале диска. Смысла в много поточности большого не вижу.


 
Anatoly Podgoretsky ©   (2003-01-22 19:47) [4]

Не в FAT, а по оглавлению, которое разбросано по всему диску, частный случай когда в начале.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
14-97022
blackman
2002-12-30 11:48
2003.01.30
Как правильно отдыхать ?


1-96807
sers
2003-01-20 11:10
2003.01.30
Номер столбца в ListView по которому я кликнул


1-96718
brv
2003-01-22 11:20
2003.01.30
Проблема создания файла в Win2k/XP!!!


3-96522
ihtiandr
2003-01-14 15:17
2003.01.30
Transaction


1-96672
Дмитрий Баранов
2003-01-21 13:54
2003.01.30
Генерация уникального идентификатора