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

 
 
 

Languages