La clase Thread

(PECL pthreads >= 2.0.0)

Introducción

Cuando el método start de un Thread es llamado, el código del método run será ejecutado de forma paralela en un Thread separado.

Después de la ejecución del método run, el Thread se terminará inmediatamente, será vinculado al Thread original posteriormente.

Advertencia

Basarse en el motor para determinar cuándo un Thread será vinculado puede provocar un comportamiento no deseado. El desarrollador debe ser explícito en la medida de lo posible.

Sinopsis de la Clase

class Thread extends Threaded implements Countable, Traversable, ArrayAccess {
/* Métodos */
public getCreatorId(): int
public static getCurrentThread(): Thread
public static getCurrentThreadId(): int
public getThreadId(): int
public isJoined(): bool
public isStarted(): bool
public join(): bool
public start(int $options = ?): bool
/* Métodos heredados */
public Threaded::chunk(int $size, bool $preserve): array
public Threaded::extend(string $class): bool
public Threaded::merge(mixed $from, bool $overwrite = ?): bool
public Threaded::synchronized(Closure $block, mixed ...$args): mixed
public Threaded::wait(int $timeout = ?): bool
}

Tabla de contenidos

add a note

User Contributed Notes 2 notes

up
3
german dot bernhardt at gmail dot com
9 years ago
<?php
# ERROR GLOBAL VARIABLES IMPORT

$tester=true;

function
tester(){
global
$tester;
var_dump($tester);
}

tester(); // PRINT -> bool(true)

class test extends Thread{
public function
run(){
global
$tester;
tester(); // PRINT -> NULL
}
}
$workers=new test();
$workers->start();

?>
up
-1
german dot bernhardt at gmail dot com
11 years ago
<?php

class workerThread extends Thread {
public function
__construct($i){
$this->i=$i;
}

public function
run(){
while(
true){
echo
$this->i;
sleep(1);
}
}
}

for(
$i=0;$i<50;$i++){
$workers[$i]=new workerThread($i);
$workers[$i]->start();
}

?>
To Top