- ベストアンサー
PHPでマルチスレッドプログラミングは可能ですか?
もしくは、他のLL(Ruby, Python等)でマルチスレッドプログラミングが可能な言語はなんでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#94983
回答No.2
その他の回答 (1)
noname#94983
回答No.1
もしくは、他のLL(Ruby, Python等)でマルチスレッドプログラミングが可能な言語はなんでしょうか?
補足
度々、ご回答ありがとうございます。 すいません。この質問をするに至った経緯を簡単に補足しておきます。 まず、私はPHPをメインに利用しております。かつてはPerlを利用していましたが、 当時は「スレッド」という言葉の意味さえ知りませんでした。 Rubyはちょっといじってみた程度で、Pythonに関しては1行も書いたことがありません。 ということで、もうお気づきかもしれませんが、マルチスレッドプログラミング というものをやったことがありませんし、マルチスレッドプログラミングが どういものかという認識もかなりあやしいです。 さて、先日、『Java言語で学ぶデザインパターン入門』という本を流し読みしていると シングルトンパターンのページに以下のようなコード例がありました。 (インスタンス取得メソッド内) if (this.singleton == null) { this.singleton = new Singleton(); } return this.singleton; ※手元に本がないのと、Javaの知識もないので間違ってるかもしれません。 で、「このコードはif文の判定が甘く、別スレッドが介入する可能性が あるのでスレッドセーフではない」みたいなことが書かれていました。 ほぼPHPオンリーな私は、かなり衝撃を受けました!! PHPのシングルトンパターン時には、実際上記のようなコードを書きます。 当然、マルチスレッドではないので、スレッドセーフ等意識したことありません。 このマルチスレッドプログラミングというものがどういうものなのか、 理解してないのですが、非常にパワフルな印象を受け、興味をいだきました。 とはいえ、できるだけライトウェイト言語のみを使っていきたい私には、 「では、明日からJavaで」という気にはなれず、今回の質問に至りました。 イメージとしては、コマンドにアンパサドを付けてバックグラウンド実行するような 記述を PHP の処理内にうじゃうじゃと書くと汚くなるので、マルチスレッド機能を 用いれば、完結になるのかな?と考えてます。(イメージ的に) ↑間違ってますか? それとも、LLでWebアプリケーションの開発をするだけなら、あまり難しいことに 手を出さないほうが懸命なのでしょうか?