La clase parallel\Runtime

(0.8.0)

Objetos de ejecución

Cada ejecución representa un solo thread PHP, el thread es creado (e inicializado) durante la construcción. El thread espera luego a que se programen tareas: las tareas programadas serán ejecutadas FIFO y luego el thread volverá a esperar hasta que se programen otras tareas, o hasta que sea cerrado, eliminado o destruido por las reglas de ámbito normales de los objetos PHP.

Advertencia

Cuando una ejecución es destruida por las reglas de ámbito normales de los objetos PHP, primero ejecutará todas las tareas que han sido programadas, y bloqueará durante este tiempo.

Amortiguación de ejecución

Cuando se crea una nueva ejecución, no comparte código con el thread (o el proceso) que la creó. Esto significa que no tiene las mismas clases y funciones cargadas, ni el mismo cargador automático definido. En algunos casos, una ejecución muy ligera es deseable porque las tareas que serán programadas no necesitan acceder al código del thread padre. En los casos en que las tareas necesitan acceder al mismo código, basta con definir un cargador automático como amortiguación.

Nota:

La precarga puede ser utilizada en conjunción con parallel, en este caso el código precargado está disponible sin amortiguación.

Sinopsis de la Clase

final class parallel\Runtime {
/* Crear */
public __construct(string $bootstrap)
/* Ejecutar */
public run(Closure $task): ?Future
public run(Closure $task, array $argv): ?Future
/* Unir */
public close(): void
public kill(): void
}

Tabla de contenidos