Thread::getCreatorId

(PECL pthreads >= 2.0.0)

Thread::getCreatorIdИдентификация

Описание

public Thread::getCreatorId(): int

Возвращает идентификатор потока, который создал указанный поток.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Числовой идентификатор.

Примеры

Пример #1 Возвращает идентификатор потока, который создал указанный поток

<?php
class My extends Thread {
public function
run() {
printf("%s создан потоком #%lu\n", __CLASS__, $this->getCreatorId());
}
}
$my = new My();
$my->start();
?>

Результат выполнения приведённого примера:

My создан потоком #123456778899

add a note add a note

User Contributed Notes 1 note

up
0
312036773 at qq dot com
9 years ago
creatorId == currentThreadId()?  Does it go wrong? Why??????

class demo1 extends Thread{
    public function __construct(){
        var_dump(Thread::getCurrentThread());
        echo "<br/><br/>";
    }
    public function run(){
        echo __METHOD__ . Thread::getCurrentThreadId() . "<br/>";
        echo __METHOD__ . $this->getCreatorId() . "<Br/>";
    }
}

class demo2 extends Thread{
    public function __construct(){

    }
    public function run(){
        var_dump(Thread::getCurrentThread());
        echo "<br/><br/>";
        echo __METHOD__ . Thread::getCurrentThreadId() . "<br/>";
        $d1 = new Demo1();
        $d1->start();
    }
}

$d2 = new Demo2;
$d2->start();

The Result is:

object(demo2)#2 (0) { }

demo2::run6684
object(demo2)#3 (0) { }

demo1::run484
demo1::run484

creatorId == currentThreadId()?

it goes wrong? Why??????
To Top