ホームページ >バックエンド開発 >PHPチュートリアル >set 関数の実行時間を決定するにはどうすればよいですか?

set 関数の実行時間を決定するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 14:04:361060ブラウズ

function a(){
//...
return true; }
function b(){
//...
return false;
次の場合を想像してください。 )、1.2 秒後に結果が返されない場合は、すぐに b() を呼び出してください
これに対処する美しい方法はありますか?



ディスカッションへの返信 (解決策)


自分や PHP にとって難しくしないでください

私の解決策

1. Ajax タイムアウトの解釈 欠点: 時間の精度が十分ではない 長所: この関数は実装可能一時的に
2. PHP の C 言語拡張 欠点: 難しすぎてコスト効率が悪い 利点: 正確な時間と高効率
3. マスターを待つ...

Libevent はタイマーの機能を実装できますが、関数は実装する必要がありますネットワークタスクを実行する必要がある場合、タイムアウト設定が必要です

php自体がそのような機能を提供します

それが美しいかどうかは自分で判断できます

すべての操作がphpの実行時間で計算されるわけではありません。自分で検証できます

register_shutdown_function( "time_out_callback");set_time_limit( 2 );//假设2秒就算超时//模拟超时@c();//error_reporting($es);//恢复设置function time_out_callback() {  if(connection_status() == 2) {    b();      }}function c() {  //你的可能的超时代码  echo __FUNCTION__, ' ';  while (true) {    echo '.';    //        echo connection_status()."<br/>";//echo 0    usleep( 100000 );//给cpu透口气  }}function b() {  echo '<br>' . __FUNCTION__, ' ';  echo 'c超时 连接状态:' . connection_status();//echo 2,c超时}

php 自体がこのような機能を提供しています
美しいかどうかは自分で判断してください
すべての操作が php の実行時間で計算されるわけではありません。 。 。

モデレーターは素晴らしく、グレーは非常に美しいですが、結果はあまり安定していません (usleep 値を変更すると、しばらくして結果が得られます)。おそらく php は限界に達しています

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。