私はインターネットでPHPのpthreads3に関する情報を拾い読みしています。どのようにデータを保存することになっていますか? (またはむしろ、どういうわけか) スレッドがデータを適切に格納する唯一の方法は、新しいThreadedオブジェクトを作成してスレッドに送ることです。スレッドは、このThreadedオブジェクトを使用してほぼすべてのデータを格納できます。PHPスレッドはデータをどのように格納する必要がありますか?
私の質問と、PHPスレッドを把握する上での最大の問題: スレッドが独自のストレージオブジェクトを作成できるようにすることは可能ですか? 私はこれで見つけたすべての答えが曖昧で、巧妙で、混乱しているとは言えないので、どのように、なぜ、なぜか分かりません。 それは何らかの形で、可能なはずのようにこれはそうです:
class someFantasticThread extends Thread {
public $someData;
function run(){
while(true){
//Create a fresh storage for the new data this iteration
$this->someData = new SomeCoolStorage(); // Can this work somehow without all the issues?
$this->someData[] = 'amazingdata'; // Do something amazing and store the new results in $someData
$this->someData[] = new SomeCoolStorage(); // This would also be desireable, if it can somehow be done
//don't mind the obvious loop issues. Imagine this is a well formed loop
}
}
}
class SomeCoolStorage extends Threaded{}
// Start the thread
$threadObj = new someFantasticThread();
$threadObj->start();
while(true){
// at some point, retrieve the data and do something useful with the contained results
// doSomethingAwesome($threadObj->someData);
}
このコードをどのような環境で使用する予定ですか? PHPスレッドはWebサーバー環境と互換性がないため、使用することはほとんどありません。 – duskwuff
私はこのことを、私が尋ねていることを実行できるあらゆる環境で使用することを望んでいます。つまり、スレッドが独自の空のオブジェクトを適切な方法で作成できるようにします。 これはウェブサーバー用ではありません。 – JohnF
しかし、最初にスレッドを何のために使用しようとしていますか? – duskwuff