この記事の例では、PHP+シェルを使用してマルチスレッドを実装する方法を説明します。皆さんの参考に共有してください。詳細は次のとおりです:
ここでは、シェル スクリプトを使用してマルチスレッドを実装する方法を説明します。
まず、スクリプトの実行時間を長くし、効果をより簡単に確認するために、しばらくスリープしてください(笑)。まずはtest.phpのコードを見てください:
PHPコード:
<?php for ($i=0;$i<10;$i++) { echo $i; sleep(10); } ?>
シェルスクリプトのコードを見てください、とてもシンプルです
#!/bin/bash for i in 1 2 3 4 5 6 7 8 9 10 do /usr/bin/php -q /var/www/html/test.php & done
PHPをリクエストする行に&記号があることに気づきましたかコード? これがキーです。いいえ、追加すると、マルチスレッドは実行できなくなり、シェルの各ループですべての PHP を待機する必要がなくなります。次のファイルをリクエストする前に、同時に実行されるコードです。これにより、マルチスレッドが実現されます。ここでは、10 個の test.php プロセスが再度実行されていることがわかります。 Linux タイマーは、マルチスレッドを必要とするいくつかのタスクを処理するためにこのシェルを定期的に要求します。たとえば、バッチでダウンロードする場合に非常に使いやすいです。
この記事が皆様の PHP プログラミング設計に役立つことを願っています。
PHP+shell がマルチスレッドを実装する方法に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。