Skip to content
/ mutex Public

Mutex component provides the ability to manage locks while accessing the resource at the same time

License

Notifications You must be signed in to change notification settings

haskel/mutex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mutex Component

The Mutex component provides the ability to manage locks while accessing the resource at the same time.

Installation

composer require haskel/mutex

Usage

Basic usage

use Haskel\Component\Mutex\MutexManager;
use Haskel\Component\Mutex\Mutex\PlainMutex;

$mutexManager = new MutexManager();
$mutex = new PlainMutex('SOME_UNIQUE_STRING');
$mutexManager->acquire($mutex);
//some actions
$mutexManager->release($mutex);



To release everytime if exception throws

use Haskel\Component\Mutex\MutexManager;
use Haskel\Component\Mutex\Mutex\PlainMutex;

$mutexManager = new MutexManager();
$mutex = new PlainMutex('SOME_UNIQUE_STRING');
$mutexManager->acquire($mutex);
//some actions
try {
    //some actions
} finally {
    $mutexManager->release($mutex);
}

Try to acquire within 20 seconds

use Haskel\Component\Mutex\MutexManager;
use Haskel\Component\Mutex\Mutex\PlainMutex;

$mutexManager = new MutexManager();
$mutex = new PlainMutex('SOME_UNIQUE_STRING');
$mutexManager->acquire($mutex, 20);
// .......

About

Mutex component provides the ability to manage locks while accessing the resource at the same time

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages