parallel parallel\Future 클래스
(0.8.0)
Futures
Future는 작업에서 반환 값 또는 잡히지 않은 예외를 나타내며 취소를 위한 API를 노출합니다.
예제 #1 Future를 반환 값으로 보여주는 예
<?php
$runtime = new \parallel\Runtime;
$future = $runtime->run(function(){
return "World";
});
printf("Hello %s\n", $future->value());
?>
위의 예는 다음과 유사한 결과를 출력합니다.
Hello World
미래의 동작은 태스크가 명시적으로 값을 반환하지 않는 경우에도 단순한 동기화 지점으로 사용될 수 있습니다.
예제 #2 Future를 동기화 지점으로 보여주는 예
<?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";
?>
위의 예는 다음과 유사한 결과를 출력합니다.
in child .................................................. leaving child parent continues
클래스 개요
final class parallel\Future {
/* Resolution */
public value(): mixed
/* State */
public cancelled(): bool
public done(): bool
/* Cancellation */
public cancel(): bool
}
목차
- parallel\Future::cancel — Cancellation
- parallel\Future::cancelled — State Detection
- parallel\Future::done — State Detection
- parallel\Future::value — Resolution