Как мне реализовать атомарную последовательность в Perl?

У меня следующие требования:

  1. Последовательность уникальна для хоста (совместное увеличение не требуется)
  2. Последовательность должна быть монотонно возрастающей.
  3. Последовательность должны быть постоянными для всех процессов.
  4. Увеличение последовательности должно быть атомарным в случае, если несколько процессов работают над ней одновременно.
  5. В большинстве случаев файл будет обновляться, и новое значение будет считано после обновления. Но также должна быть возможность читать текущее значение без обновления.

Я могу собрать код Perl, который будет делать примерно это, но я бы хотел более элегантное решение.

6
задан Chris R 9 June 2011 в 19:22
поделиться