タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

ThreadとPHPに関するhikazohのブックマーク (2)

  • スレッド処理は慎重に – PHPでのスレッド処理 : 後編 | POSTD

    この記事の前半はこちら: スレッド処理は慎重に – PHPでのスレッド処理 : 前編 オートローディングとコンテキストの継承 これまで挙げてきた例は基的なことですが、更に高度な例に取り組もうとした場合、ある共通の障害にぶち当たるでしょう。それは、親のコンテキストにオートローディングされたクラスを子スレッドが継承していないということです。 これはなぜかと言うと、子スレッドは親のコンテキストを 必ずしも 継承する必要がないからです。状況によって継承が不都合な場合、例えばいくつかのコンテキストにおいて、ある独立したタスクを行おうとした時や、メモリの上層階で行っている全てを読み込みたくない時などです。 オプション を Thread インスタンスの ->start() メソッドに渡すことで、親から継承される量を制限できます。 <?php define('MY_CONSTANT', true); f

    スレッド処理は慎重に – PHPでのスレッド処理 : 後編 | POSTD
  • スレッド処理は慎重に – PHPでのスレッド処理 : 前編 | POSTD

    私が覚えている限り、非常に重い(または非同期の)タスク処理に関して、PHPは常に厳しい評価をされていました。これまではずっと、長いタスクを並列化したければ pcntl_fork を通してフォークするという方法を取らなければいけなかったので、タスクの結果を適切に処理することができませんでした。 そこで私たちは、キューイング(どちらかと言えばタスクを遅くするだけ)やReactPHP、または他の言語を一緒に使うといった、より複雑なソリューションへと向かっていきましたが、PHPでもスレッド処理は可能なのです。そしてより重要なのは、 その方法はあなたが思っているよりもはるかに簡単だということです。 この記事では、 pthreads 拡張(POSIX Threadsの略)について説明します。2012年ごろから広く使われていますが、多くの人がその存在を忘れているか、使うのが苦痛だと考えると思います。その

    スレッド処理は慎重に – PHPでのスレッド処理 : 前編 | POSTD
  • 1