ここに私が理解していないことの簡単な例があります:
<?php
class classA {
private $z = 1;
public function __construct() {
$this->b = new classB;
$this->b->setRefonClassA($this);
$this->b->start();
}
function changeZ() {
echo "ChangeZ : z=" . $this->z . "\n";
$this->z = 666;
echo "ChangeZ : z=" . $this->z . "\n";
}
function showZ() {
echo "showZ : z=" . $this->z . "\n";
}
}
class classB extends Thread {
function setRefOnClassA($classA) {
$this->classA = $classA;
}
function run() {
$this->classA->changeZ();
$this->classA->showZ();
}
}
$test = 新しいクラスA(); ?>
結果は次のとおりです。
ChangeZ : z=1
ChangeZ : z=666
showZ : z=1
showZ=666 だと思っていました。z=1 の理由
ここで明らかに何かが欠けています。
前もって感謝します