2

私はそれが非常にばかげた質問である可能性が高いことを知っています.curl_multiとhttps://github.com/petewarden/ParallelCurl/などのクラスをマルチスレッドに使用しています。

しかし最近、私はこれがglypeと呼ばれるオープンソースの PHP Web プロキシ フレームワークである Web プロキシを構築しているのに出くわしました。

私には、すべてのリソースが cURL によってフェッチされているように見えます。ソース コードには curl_multi がまったくなく、コードには curl_init と curl_exec のみが含まれています。

そうは言っても、img (およびおそらく他の src も) は同時にロードされます。コードを簡単に調べましたが、このように機能する方法の手がかりを見つけることができませんでした。

curl_multi を使用せずに cURL のマルチスレッド化を試みた人はいますか? (PHP pthread は含まれていません)

4

1 に答える 1

4

cURL Multi は、マルチスレッドや並列処理とは何の関係もありません。

cURL Multi は、リクエストの非同期実行にノンブロッキング I/O を使用する cURL 拡張内の一連の関数です。

明確にするために、cURL Multi は並列でもマルチスレッドでもありません。非ブロッキングの非同期 I/O を容易にします。

Glype は、コードを提供するサーバーの処理モデルを使用します。ブラウザーが Glype を介してページを要求すると、サーバーは Glype を実行するプロセスを作成 (または再利用) する責任があります。同様に、ページがサーバーから CSS や画像などのリソースを要求すると、サーバーがプロセスを作成 (または再利用) し、PHP インタープリターが実行され、次に Glype が実行されます。

于 2015-06-27T05:08:26.643 に答える