Projektbeschreibung

SynCache::Cache stores cached objects in a Hash that is protected by an advanced two-level locking mechanism. Two-level locking ensures that: Multiple threads can add and fetch objects in parallel without stepping on each other’s toes; while one thread is working on a cache entry, other threads can access the rest of the cache with no waiting on the global lock, race conditions, or deadlock or livelock situations; and while one thread is performing a long and resource-intensive operation, other threads that request the same data with #fetch_or_add method will be put on hold, and as soon as the first thread completes the operation, the result will be returned to all threads. Without this feature, a steady stream of requests with less time between them than it takes to complete one request can easily bury a server under an avalanche of threads all wasting resources on the same expensive operation.

Bewertung
Ihr Bewertung
Rezensionen verfassen