Работа множества потоков с одним тестовым файлом?

  • Автор темы Автор темы Hinin
  • Дата начала Дата начала

Hinin

Client
Регистрация
07.09.2013
Сообщения
8
Реакции
0
Баллы
1
Приветствую.

Будут ли возникать конфликты между потоками/задачами, если несколько задач и потоков работают с одним текстовым файлом на запись/чтение?

Например: один шаблон собирает ссылки в многопоточном режиме и скадывает все ссылки в текстовый файл. Второй шаблон в многопоточном режиме забирает ссылки и пытается скачать нужный контент через прокси, если не получается возвращает ссылку в текстовый файл.
 
Не будет проблем, если списки привязаны к файлам (пусть прописан в настройках списка и стоят галки на "изменение" и "загружать из файла"
и работа производится со строками через экшены операции с файлом - получить строку и добавить строку.
 
Спасибо, если в файл уже пишет один поток данных, то второй поток подождёт пока первый закончит?

Т.е. через файл можно полноценно организовать очередь для обмена данными разных задач, работающих параллельно?
 
работа с файлом ведется в оперативке, а изменения просто периодически сохраняются. Файл физически не дергается на каждой операции.
 
Хорошее решение! Спасибо.
 
Хотелось бы разъяснить: данные берутся с одного файла построчно. Запущено, скажем, 20 потоков. Может ли возникнуть такой момент, что 2 (или более) потока одновременно обратятся к файлу и возьмут одну и ту же строку? Или это как-то учтено (так сказать, предохранительный механизм) - например, устроено, обязательное обращение к файлу только по очереди, т.е. если обратились два потока, то какой-то поток ждет? Или нет такого и вероятность одновременного взятия одной и той-же строки все же есть?
 
Я же сверху написал )
Файл должен быть привязан к списку и тоять галки в настройках.
И строки нужно брать экшеном "Взять строку".
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)