Есть несколько процессов, запущенных одновременно, и стоит задача обеспечить выполнение одной процедуры только одним процессом в любой момент времени.
Сейчас это реализовано путем экслюзивного flock() в начале процедуры, и его снятием в конце.
Работает как надо, но есть проблема - когда "ждут" несколько потоков, то при его отпускании почему-то лок отдается последнему процессу который стал в очередь на этот лок, а хочется организовать здоровую очередь (т.е. первым стал в очередь, первым получил лок). В случае с fork я бы использовал Thread::Queue, а есть ли красивые методы решения этой проблемы, или прийдется писать свои костыли?
Ответ на:
комментарий
от const86
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Можно ли клонировать процесс (2016)
- Форум Синхронизация процессов (2004)
- Форум perl и процессы (2006)
- Форум Синхронизация процессов при fork() (2008)
- Форум C++ stdlib синхронизация процессов (2007)
- Форум Синхронизация процессов, mutex, автоосвобождение при закрытии процесса. (2016)
- Форум Посмотреть процесс синхронизации в Android (2012)
- Форум Узнать детали по процессу perl (2016)
- Форум Perl, перенаправить STDOUT дочернего процесса (2016)
- Форум Perl: получить информацию о процессе. (2014)