parallel parallel\Runtime 클래스

(0.8.0)


런타임 객체

각 런타임은 단일 PHP 스레드를 나타내며 스레드는 생성 시 생성(및 부트스트랩)됩니다. 그런 다음 스레드는 작업이 예약될 때까지 기다립니다. 예약된 작업은 FIFO로 실행되고 스레드는 더 많은 작업이 예약되거나 PHP 개체의 일반적인 범위 지정 규칙에 의해 닫히거나 종료되거나 소멸될 때까지 대기를 재개합니다.

경고 런타임이 PHP 개체의 일반적인 범위 지정 규칙에 의해 소멸되면 먼저 예약된 모든 작업을 실행하고 그렇게 하는 동안 차단합니다.


런타임 부트스트래핑

새 런타임이 생성되면 이를 생성한 스레드(또는 프로세스)와 코드를 공유하지 않습니다. 이는 동일한 클래스와 함수가 로드되지 않았거나 동일한 자동 로더 세트가 없음을 의미합니다. 어떤 경우에는 예약될 작업이 부모 스레드의 코드에 액세스할 필요가 없기 때문에 매우 가벼운 런타임이 바람직합니다. 작업이 동일한 코드에 액세스해야 하는 경우 오토로더를 부트스트랩으로 설정하는 것으로 충분합니다.

메모: 사전 로드는 병렬과 함께 사용할 수 있습니다. 이 경우 사전 로드된 코드는 부트스트랩 없이 사용할 수 있습니다.


클래스 개요

                  
final class parallel\Runtime {

  /* Create */
  public __construct()
  public __construct(string $bootstrap)

  /* Execute */
  public run(Closure $task): ?Future
  public run(Closure $task, array $argv): ?Future

  /* Join */
  public close(): void
  public kill(): void
}
                  
                

목차