2011-07-07 2 views
2

こんにちは、PHPで一度に複数のメソッドを実行する際に助けてください。私は一度に複数のメソッドをPHPで実行したい

以下

は一例です。ここで

<?php 
function writeName() 
{ 
sleep(3); 
echo "Kai Jim Refsnes"; 
} 
function b(){ 
sleep(3); 
echo"b"; 
} 
b(); 
writeName()); 
?> 

プログラム上記

は、私はプログラムが3秒(マルチスレッド)にして実行する必要がありますように、同時に私の両方の方法を実行したいexecute.Butする6秒を取ります。

答えて

2

一般的なPHPでは不可能です。なぜなら、PHPは順番に実行されるからです。あなたはギアマンのような仕事サーバを見たり、フォーク(pcntl_fork())を使ってみるかもしれません。共有メモリがないため、マルチスレッドではありません。

+0

+1 for Gearman。 – cmbuckley

+0

こんにちは、ありがとうございました。しかし、私の理解がより明確になるように、あなたは同じプログラムを書くことができますか? –

0

申し訳ありませんが、マルチスレッドはPHPではサポートされていません。

しかし、exec()を使用してバックグラウンドで実行できるPHPスクリプトを起動することができます。あなたが出力を他の場所にリダイレクトするようにしてください。
これは、追加ツールなしで「マルチスレッド」に最も近いものでなければなりません。

注:この機能を使用してプログラムを起動する場合は、プログラムをバックグラウンドで実行し続けるために、プログラムの出力をファイルまたは別の出力ストリームにリダイレクトする必要があります。そうしないと、プログラムの実行が終了するまでPHPが停止します。

関連する問題