Symfony News

New in Symfony 5.2: Shared locks

Jérémy Derussé

Contributed by
Jérémy Derussé
in #37752.

In computer science, the readers–writers problems deal with situations in which many concurrent threads of execution try to access the same shared resource at one time.

A readers–writer lock is a synchronization primitive that solves one of those problems. It allows concurrent access for read-only operations, while write operations require exclusive access. This means that multiple threads can read the data in parallel but an exclusive lock is needed for writing or modifying data.

In Symfony 5.2 we’ve added support for them thanks to shared locks. When the lock store implements the new SharedLockStoreInterface, you can call the acquireRead() method to get a read-only lock, while the existing acquire() method gets a write lock:

$lock = $factory->createLock('user'.$user->id);
if ($lock->acquireRead()) {
    // ...

Read the new docs about shared locks to learn all about them.

Sponsor the Symfony project.

About us

What a Symfony developer should know about the framework: News, Jobs, Tweets, Events, Videos,...

Find us on Twitter

Find us on Facebook