A classe parallel\Runtime
(0.8.0)
Runtime Objects
Cada tempo de execução representa um único thread PHP, o thread é criado (e inicializado) durante a construção. O thread então espera que as tarefas sejam agendadas: As tarefas agendadas serão executadas FIFO e então o thread continuará esperando até que mais tarefas sejam agendadas ou seja fechado, eliminado ou destruído pelas regras normais de escopo dos objetos PHP.
Quando um tempo de execução é destruído pelas regras normais de escopo de objetos PHP, ele primeiro executará todas as tarefas que foram agendadas e bloqueará ao fazê-lo.
Bootstrapping em tempo de execução
Quando um novo tempo de execução é criado, ele não compartilha código com o thread (ou processo) que o criou. Isso significa que ele não possui as mesmas classes e funções carregadas, nem o mesmo conjunto de autoloader. Em alguns casos, um tempo de execução muito leve é desejável porque as tarefas que serão agendadas não precisam de acesso ao código no thread pai. Nos casos em que as tarefas precisam acessar o mesmo código, basta definir um autoloader como bootstrap.
Note:
preloading pode ser usado em conjunto com o parallel; neste caso, o código pré-carregado está disponível sem inicialização
Table of Contents
- parallel\Runtime::__construct — Runtime Construction
- parallel\Runtime::run — Execution
- parallel\Runtime::close — Runtime Graceful Join
- parallel\Runtime::kill — Runtime Join