GoLang Mutex::trylock

request it (415)
GoLang replacement for PHP's Mutex::trylock [edit | history]



Do you know a GoLang replacement for PHP's Mutex::trylock? Write it!

PHP Mutex::trylock

PHP original manual for Mutex::trylock [ show | php.net ]

Mutex::trylock

(PECL pthreads < 3.0.0)

Mutex::trylockAttempt to Acquire Mutex

Warning

The Mutex class has been removed in pthreads v3.

Description

final public static bool Mutex::trylock ( int $mutex )

Attempt to lock the Mutex for the caller without blocking if the Mutex is owned (locked) by another Thread.

Parameters

mutex

A handle returned by a previous call to Mutex::create().

Return Values

A boolean indication of success.

Examples

Example #1 Mutex Locking and Unlocking

<?php
/** You cannot use the "new" keyword, a Mutex is not a PHP object **/
$mutex Mutex::create();
/** You can now try to lock the mutex in any context **/
var_dump(Mutex::trylock($mutex));
/** It is invalid to attempt to destroy a locked Mutex **/
var_dump(Mutex::unlock($mutex));
/** Always destroy mutex you have created **/
Mutex::destroy($mutex);
?>

The above example will output:

bool(true)
bool(true)