GoLang Cond::wait

request it (428)
GoLang replacement for PHP's Cond::wait [edit | history]



Do you know a GoLang replacement for PHP's Cond::wait? Write it!

PHP Cond::wait

PHP original manual for Cond::wait [ show | php.net ]

Cond::wait

(PECL pthreads < 3.0.0)

Cond::waitWait for Condition

Warning

The Cond class has been removed in pthreads v3.

Description

final public static bool Cond::wait ( int $condition , int $mutex [, int $timeout ] )

Wait for a signal on a Condition Variable, optionally specifying a timeout to limit waiting time.

Parameters

condition

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

mutex

A handle returned by a previous call to Mutex::create() and owned (locked) by the caller.

timeout

An optional timeout, in microseconds ( millionths of a second ).

Return Values

A boolean indication of success.

Examples

Example #1 Waiting for Conditions

<?php
/** PLEASE NOTE THIS EXAMPLE WILL CAUSE THE PROCESS TO HANG **/
$mutex Mutex::create(true);
/** You cannot use the "new" keyword, a Cond is not a PHP object **/
$cond Cond::create();
/** The caller must lock the associated Mutex before a call to broadcast **/
var_dump(Cond::wait($cond$mutex));
/** Always destroy Cond you have created **/
Cond::destroy($cond);
Mutex::unlock($mutex);
Mutex::destroy($mutex);
?>

The above example will output:

int(49685473)