スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPでスレッド

自分でも良く分からないタイトルです。

PHPって例えば、1つの事を10回ループするっていうプログラムを作ったとした場合、もし5個目で処理に時間がかかった場合、6個目が実行されるのはいつになるのやらという感じになります。

単純な処理ならそういう事はないと思うんだけど、例えば別のサーバーと通信したりする場合、相手サーバーからの応答待ちに何分もかかっていたら、10回ループするというプログラムが5秒で終わる事もあれば5分かかる事もあるわけで。

それがブラウザからのリクエストだった場合は、ブラウザの前で「おっせーなぁ」と思ってブラウザの戻るを押したり、はたまたリロードしまくったりされる可能性もあるわけです。

そういう事を防ぐ為に、Javaとかだとスレッドってのがあるらしい。

自分の勝手な思い込みだと、スレッドってのは1つのプロセスで複数の処理を実行出来る仕組みなのかなという感じなんだけど、それはこれから勉強するとして。

話は戻ってPHPにはそういう概念はありません(多分。だってインタプリタだし・・・)

ただ、昨日うちの社長がそういう処理をさせたいとかって事をぽろっと話していて、別に自分が頼まれたわけじゃないけど面白そうだなーと思ったのでその辺をちょっと勉強してみたいなーと。

プロセス管理とかメモリ管理とか色々と勉強になりそう。

とりあえずやってみたい事がさらに増えました。
でもやってみたい事は相当溜まっているのでもっと頑張らないと。
スポンサーサイト

この記事のトラックバックURL

http://kgworks.blog47.fc2.com/tb.php/89-c413f8bf

コメント

スレッドかっこええですねぇ。
ていうかPHPで処理に時間がかかるって言うのが私の頭では想像できんです><
PHP単体で処理に時間がかかるって事はあまりないと思うけど、例えばDBから何かデータを取ってくる処理みたいな、別のものが絡む場合、DBが重ければその分PHPの処理時間も長くなるよ。

あと、例えばどっかのURLからRSSとかの情報を取ってくるようなものでも、相手先のサーバーが重かったり、そもそもドメインの解決に時間がかかっているかもしれないし、色々と処理時間を長くさせる原因はあったりするよ。
なるほどですねぇ。
DBはローカルでしかやったことない、RSS?それっておいしいの?な俺には(ry
あー、確かにDBの接続先がローカルホストだとあまり分からないかも。
まぁRSSじゃなくてもどこかのURLにアクセスする巡回ツールとか。

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

テクノラティ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。