Как я могу проверить, что ресурс (кеш-файл для кэширования вывода webapp в Perl) ведет себя безопасно при одновременном доступе к указанному совместно используемому ресурсу?Как проверить параллельный доступ к ресурсу (кешу) в Perl?
Я написал простой файловый кеш, написанный на Perl, который использует блокировку для сериализации доступа к записи, т. Е. Иметь только один процесс, который (повторно) генерирует запись в кэш. Этот кеш должен использоваться для кэширования вывода Perl webapp (gitweb), если это имеет значение.
Я хотел бы протестировать, что указанный кэш ведет себя разумно при параллельном доступе, например, что только один процесс будет запускать подпрограмму, используемую для генерации кеша ($cache->compute($key, sub { ... })
), что все процессы получат сгенерированные данные, которые, если процесс записи в кеш входные данные не будут блокировать процессы, ожидающие генерации кеша (re) и т. д.
Как это сделать? Есть ли готовый модуль Perl, который я могу использовать?
Все эти белая коробка - это мой собственный код. Я всегда могу развить тест, но проблема заключается в сборе данных от детей. –