GoLang pht\AtomicInteger::lock

request it (148)
GoLang replacement for PHP's pht\AtomicInteger::lock [edit | history]



Do you know a GoLang replacement for PHP's pht\AtomicInteger::lock? Write it!

PHP pht\AtomicInteger::lock

PHP original manual for pht\AtomicInteger::lock [ show | php.net ]

pht\AtomicInteger::lock

(PECL pht >= 0.0.1)

pht\AtomicInteger::lockAcquires the atomic integer's mutex lock

Description

public void pht\AtomicInteger::lock ( void )

This method will acquire the mutex lock associated with the atomic integer. The mutex lock only needs to be acquired when needing to group together multiple operations.

The mutex locks of the atomic values are reentrant safe. It is therefore valid for the same thread to reacquire a mutex lock that it has already acquired.

Parameters

This function has no parameters.

Return Values

No return value.

Examples

Example #1 Grouping together an atomic integer's operations (requiring a mutex lock)

<?php

use pht\AtomicInteger;

$atomicInteger = new AtomicInteger(2);

// assumes $atomicInteger is being used by multiple threads
$atomicInteger->lock();
$atomicInteger->set($atomicInteger->get() * 2); // double the value
$atomicInteger->unlock();

var_dump($atomicInteger->get());

The above example will output:

int(4)