- Регистрация
- 25.08.2014
- Сообщения
- 394
- Благодарностей
- 53
- Баллы
- 28
Друзья,
Вопрос такой. Сделал себе чекер аккаунтов на валидность.
Принцип работы такой:
1. Берём данные из файла в таблицу и проверяем их
2. Далее сортируем их в разные файлы (отдельно валидные, отдельно нет)
Но затем стоит задача валидные аккаунты скопировать на место исходного файла, чтобы затем можно было повторно их проверять.
Проблема следующая.
В начале цикла я беру первую строку таблицы, удаляю её и проверяю на валидность.
Если строк в файле нет, то валидные аккаунты копируются на место исходного файла и программа завершается.
И вот тут возникает косяк.
Если запущено несколько потоков, то один поток может завершить программу и записать файл валидных аккаунтов на место исходного, а другой поток обнаружит опять непустой файл и будет вести проверку по новой.
Можно ли как-то сделать так, чтобы копирование файла происходило после того, как все потоки отработали?
P.S. как тут файлы прикладывать не пойму?
Вопрос такой. Сделал себе чекер аккаунтов на валидность.
Принцип работы такой:
1. Берём данные из файла в таблицу и проверяем их
2. Далее сортируем их в разные файлы (отдельно валидные, отдельно нет)
Но затем стоит задача валидные аккаунты скопировать на место исходного файла, чтобы затем можно было повторно их проверять.
Проблема следующая.
В начале цикла я беру первую строку таблицы, удаляю её и проверяю на валидность.
Если строк в файле нет, то валидные аккаунты копируются на место исходного файла и программа завершается.
И вот тут возникает косяк.
Если запущено несколько потоков, то один поток может завершить программу и записать файл валидных аккаунтов на место исходного, а другой поток обнаружит опять непустой файл и будет вести проверку по новой.
Можно ли как-то сделать так, чтобы копирование файла происходило после того, как все потоки отработали?
P.S. как тут файлы прикладывать не пойму?