Вниз
Скачать: 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.025 c
1-1137329594
SergP
2006-01-15 15:53
2006.02.19
Array ==> Tdataset


2-1139037081
prep000
2006-02-04 10:11
2006.02.19
Как вставить в форму системное время?


15-1138531130
Стыдно
2006-01-29 13:38
2006.02.19
Объясните задачу.


15-1138446098
Хинт
2006-01-28 14:01
2006.02.19
Перевести с Visa илл Master card на WebMoney


15-1138466807
QwertyKz
2006-01-28 19:46
2006.02.19
Access и Excel




   Наверх