1 #ifndef art_Utilities_SharedResourcesRegistry_h 2 #define art_Utilities_SharedResourcesRegistry_h 6 #include "hep_concurrency/RecursiveMutex.h" 7 #include "hep_concurrency/tsan.h" 17 class SerialTaskQueue;
32 std::shared_ptr<hep::concurrency::SerialTaskQueue>
queue_;
33 std::atomic<unsigned long> counter_{0ul};
49 void registerSharedResource(
std::
string const&) noexcept(false);
50 void updateSharedResource(
std::
string const&) noexcept(false);
55 createQueues(
std::
vector<
std::
string> const& resourceNames) const;
58 mutable
hep::concurrency::RecursiveMutex mutex_{
"srr::mutex_"};
std::map< std::string, QueueAndCounter > resourceMap_
const std::string instance
std::shared_ptr< hep::concurrency::SerialTaskQueue > queue_
static detail::SharedResource_t const Legacy