Вниз
Скачать: 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.023 c
15-1138314009
Petr V. Abramov
2006-01-27 01:20
2006.02.19
А читаете ли Вы...


2-1138793792
dera
2006-02-01 14:36
2006.02.19
Как прервать цикл While?


2-1138793463
alexus
2006-02-01 14:31
2006.02.19
Как определить какая кнопка мыши нажата?


15-1138434491
Nik8.
2006-01-28 10:48
2006.02.19
http://www.rus-os.narod.ru/


2-1138884273
Silver__Dragon
2006-02-02 15:44
2006.02.19
HotKey




   Наверх