Php/docs/class.parallel-future

From Get docs

(0.8.0)

Futures

A Future represents the return value or uncaught exception from a task, and exposes an API for cancellation.

Example #1 Example showing Future as return value

<?php$runtime = new \parallel\Runtime;$future  = $runtime->run(function(){    return "World";});printf("Hello %s\n", $future->value());?>

The above example will output something similar to:


Hello World

The behaviour of a future also allows it to be used as a simple synchronization point even where the task does not return a value explicitly.

Example #2 Example showing Future as synchronization point

<?php$runtime = new \parallel\Runtime;$future  = $runtime->run(function(){    echo "in child ";    for ($i = 0; $i < 500; $i++) {        if ($i % 10 == 0) {            echo ".";        }    }    echo " leaving child";});$future->value();echo "\nparent continues\n";?>

The above example will output something similar to:


in child .................................................. leaving child
parent continues

Class synopsis


final parallel\Future {

/* Resolution */

public value ( ) : mixed

/* State */

public cancelled ( ) : bool

public done ( ) : bool

/* Cancellation */

public cancel ( ) : bool

}

Table of Contents