Вниз
Скачать: CL | DM;

Многопоточное приложение для работы с файлами помогоите...   Найти похожие ветки 

 
vip60 ©   (2006-01-17 21:04) [0]

Помогите с решением такой задачи.
  Необходимо создать многопоточное приложение по обработке текстовых файлов-Есть локальная папка в которую через определенное время поступают файлы. Приложение обрабатывает их и переносит в другую.
  Проблема: Как сделать так чтобы каждый поток брал только один файл на обработку...то есть  возникает проблема разделение приходящего файла на много потоков...может получится так что один и тот же файл будет взят на обработку разными потоками т.е. файл-критический ресурс....

Заранее благодарен!!!!


 
Defunct ©   (2006-01-18 02:07) [1]

алгоритм можно изобразить так:

1. Просканировать каталог "входящих".
2. Поочереди переносить каждый файл "входящего" каталога в каталог "обработанных файлов" (либо в "промежуточный").
3. После переноса очередного файла запустить поток по его обработке.
4. Если использовался "промежуточный" каталог, то после окончания работы очередного потока перенести обработанный им файл в каталог "обработанных файлов".
5. Sleep( долго )
6. Goto 1.


Открывать файл можете в fmShareExclusive режиме, таким образом избавившись от возможности "случайного" повторного открытия.


 
Leonid Troyanovsky ©   (2006-01-18 08:42) [2]


> vip60 ©   (17.01.06 21:04)  

>   Проблема: Как сделать так чтобы каждый поток брал только
> один файл на обработку...то есть  возникает проблема разделение
> приходящего файла на много потоков...может получится так
> что один и тот же файл будет взят на обработку разными потоками
> т.е. файл-критический ресурс....


Только один поток следит за появлением новых файлов и передает
другим их имена. Другие потоки открывают файлы эксклюзивно.

--
Regards, LVT.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.04 c
1-1137550952
джонни
2006-01-18 05:22
2006.02.19
Регистрация "протокола" / обработчика


15-1138635487
Вованчик
2006-01-30 18:38
2006.02.19
Кодировка (кодовая сираница) и *.dbf ?


2-1138703794
Юля
2006-01-31 13:36
2006.02.19
База данных. Отчет.


15-1138371733
AlexXXX
2006-01-27 17:22
2006.02.19
Видеоролик с бегущей строкой


2-1138766232
mss
2006-02-01 06:57
2006.02.19
Как сделать




   Наверх