Я использовал очередь для постановки задач. Т.е. есть много задач, они ставятся в очередь, потом куча процессов выхватывают задачи для исполнения в этой очереди.
Т.е., чтобы не было коллизий при записи мне надо открывать файл на запись в каждом процессе отдельно. Получается, что возник ситуации очереди при записи на уровне ФС. Т.е. в файл пишет один процесс, блокирует доступ на запись другим, другие в это время ждут. Система нормально отработает большую очередь за право доступа к файлу? т.е. не получится так, что очередь не будет соблюдаться, т.е. не будет ли некоторые процессы ждать слишком долго, в то время как другие поступившее позже, будут пробиваться раньше? Думаю нет, просто не знаю точно.
Или, мб правильно сделать 2-ю очередь куда будут помещаться результаты работы процессов, а потом уже её записать в файл одним процессом?
Так я уже кстати попробовал, но с наскоку не вышло...
Какой путь вернее, подскажите (м/у очереди на доступ к файлу и предварительной записи в объект класса очередь).
Пользователь решил продолжить мысль 02 Ноября 2011, 04:02:11:
Там по ссылке, кстати пример с потоками (хотя в моём случае это не важно), возник вопрос, что же лучше и где использовать потоки или процессы. Я раньше читал по этому вопросу, пришёл к выводу, что мне обычно процессы удобнее. Вроде как главное преимущество потоков, экономия ресурсов?