ホームページ >バックエンド開発 >PHPチュートリアル >PHP とシェルでのマルチスレッドの簡単な例

PHP とシェルでのマルチスレッドの簡単な例

WBOY
WBOYオリジナル
2016-07-25 08:57:10850ブラウズ
  1. //forループ
  2. for($i = 0; $i {
  3. echo $i;
  4. sleep(5);
  5. }
Copyコード

次に、シェルが動作し、php ファイル sleep.php を呼び出します。コードは次のとおりです。

  1. #!/bin/bash
  2. #edit by bbs.it-home.org
  3. for i in 1 2 3 4 5
  4. do
  5. /usr/bin/php -r -q /data/website/ sleep.php &
  6. 完了
コードをコピー

注: 上記のコードの重要な点は、PHP コードを要求する行の最後に & 記号を追加する必要があることです。そうしないと、マルチスレッドを実行できません。これは、サービスが実行のためにバックグラウンドにプッシュされることを意味します。 したがって、シェルの各サイクルで、次のファイルをリクエストする前にすべての PHP コードが実行されるのを待つ必要はありませんが、同時にマルチスレッドが実現されます。 シェルを実行すると、10 個の test.php プロセスが実行されていることがわかります。これを Linux タイマー crontab と組み合わせて、バッチ アップロードやダウンロードなどのマルチスレッド タスクを処理するシェル スクリプトを定期的に要求することを検討できます。

以上、phpとshellを組み合わせてマルチスレッドを実現する例の紹介でした。



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