В нашем проекте мы используем семафор Ignite для блокировки доступа к ресурсам. Ресурсы однозначно идентифицируются по UUID, и мы используем 1 семафор Ignite на ресурс. Мы не close()
семафоры, потому что не очевидно, когда ресурс не используется. Я пытался использовать getQueueLength()
и hasQueueThreads()
, чтобы определить, смогу ли я close()
, но это не работает.
Очевидно, что число этих семафоров будет расти. Воспламеняет ли автоматически удаляемые «старые» семафоры (которые не обновлялись в течение заданного периода времени)?
Если нет, что было бы лучшим вариантом для очистки этих «протекающих» семафоров
Спасибо!