タグ

threadに関するshimookaのブックマーク (10)

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

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

    スレッド処理は慎重に – PHPでのスレッド処理 : 前編 | POSTD
  • volatileとか使うなと怒られた話 - 谷本 心 in せろ部屋

    JJUG Night Seminar ~ Java VM<&納涼会 ~ http://kokucheese.com/event/index/48437/ に参加してきました。 「スタックマシンとしてのJavaVM」なんて言う 一見さんお断りみたいなタイトルに集まった人たちはもちろんレベルが高く 参加者のjavap経験率が20%ぐらいになるなど、なかなか偏った集客具合でした。 そんな中、私もLTでBTraceの話をしようと、45枚のスライドと、2種類のデモを用意していました。 ただ客層を考えるに、最近Twitterでちょっと呟いていた 「longに複数スレッドから値を代入すると、想定外の値になる」話をした方が良いんじゃないかと思い、 観客にどちらが聞きたいか尋ねてみたところ、longの方が圧倒的人気。 そんなわけで、45枚のスライドをドブに捨てて(いつか再利用するよ!) スライドなしで、lo

    volatileとか使うなと怒られた話 - 谷本 心 in せろ部屋
  • スレッドセーフにするために考えること 〜基礎編〜 - かとじゅんの技術日誌

    ええっと、リクエストされたので、今回は並行処理ネタにいってみます。 並行処理といえば、このは必読書ですね。でも、書いてることは、かなりムズカシイデス(´・ω・`) Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行購入: 24人 クリック: 419回この商品を含むブログ (163件) を見る ということで、並行処理について、もうちょっと優しく分かりやすく解説できないか考えて書いてみます。 スレッドセーフにするには 今回は、プログラムをスレッドセーフにするためにどんなことを考えればよいか。そういうテーマです。 アンスレッドセーフなコードから このの最初の方に、"スレッドのリスク"という章で、スレッド

    スレッドセーフにするために考えること 〜基礎編〜 - かとじゅんの技術日誌
  • Ywcafe.net

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: 10 Best Mutual Funds song lyrics Cheap Air Tickets Online classifieds Contact Lens Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy|Do Not Sell or Share My Personal Information

  • [Java][並行処理] スレッドセーフにするために考えること 〜応用編 その1〜 - かとじゅんの技術日誌

    スレッドセーフにするために考えること 〜基礎編〜 - じゅんいち☆かとうの技術日誌 基礎編では、スレッドセーフについての基的な考え方を書きました。 スレッドセーフにするには、アトミック性を保証することが必要でした。この応用編では、その点を注意しながら、実際にドメイン層の振る舞いを持つドメインモデルでどのようなことを気をつければスレッドセーフになるか考えてみたいと思います。考えながら、書いてるのでちょっとおかしいところがあるかも。ご容赦をw モデルオブジェクトを複数のスレッドで共有して操作してみる とりあえず、典型的なサンプルとして従業員と部署。。もうやだ〜このサンプル〜。とか言わないのw 以下の従業員は名前と役職、所属部署(複数可)を保持します。スレッドとか気にせずとりあえず適当にモデリング。toStringはデバッグ用にcommons-langのToStringBuilderを使います

    [Java][並行処理] スレッドセーフにするために考えること 〜応用編 その1〜 - かとじゅんの技術日誌
  • php_threading - moriyoshiの日記

    なんか完全に冗談のつもりで作った threading 拡張モジュールを、Alec さんという方がつい気にして Windows にポートしたそうです (しかもネイティブスレッド使って)。 http://news.php.net/php.internals/49486 参照カウントをアトミックに増減させるとかそういう点を考慮してないから、アレだと思うんだけどなあ。

    php_threading - moriyoshiの日記
    shimooka
    shimooka 2010/08/25
    本気かネタか見分けが付かない
  • PHPにメッセージキューとそれを扱う糖衣構文を実装してみた (「PHPのすべらない話 #3」) - moriyoshiの日記

    Goにできて、PHPにできないはずはない!というわけでやってしまいました。まあ、これにメッセージキューとメッセージスロットを足しただけなんですが。 <?php function sub($i, $ch) { for (;;) { $a = <- [$ch]; printf("%d:", $i); var_dump($a); } } $ch = thread_message_queue_create(); for ($i = 0; $i < 10; $i++) { thread_create('sub', $i, $ch); } $i = 0; for (;;) { [$ch] <- $i++; usleep(50000); } ?> 見て分かるように、 [$ch] <- $i++;こんな感じにメッセージの送信を、 $msg = <- [$ch];こんな感じにメッセージの受信を書くことができ

    PHPにメッセージキューとそれを扱う糖衣構文を実装してみた (「PHPのすべらない話 #3」) - moriyoshiの日記
    shimooka
    shimooka 2009/11/17
    またすごいのきた
  • ext/threading at PHP_5_3-threading from moriyoshi's php-src - GitHub

    This repository is private. All pages are served over SSL and all pushing and pulling is done over SSH. No one may fork, clone, or view it unless they are added as a member. Every repository with this icon () is private. This repository is public. Anyone may fork, clone, or view it. Every repository with this icon () is public.

  • PHPでマルチスレッド(バックグラウンド処理)を実現する方法 - EC studio 技術ブログ

    PHPで長時間かかる重い処理を行うとき、 マルチスレッドで動かせたらなぁ!と思うことがよくあります。 マルチスレッド処理を行うことで、時間のかかる処理を 複数同時に並列実行でき、高速化することができます。 (特に通信処理などで遅延がある場合に有効です) PHPにはpcntl_forkというプロセスをフォーク(複製)することが できる関数がありますが、これはPHPCGIモードで 動かしている場合にのみ有効です。 通常はPHPをApacheモジュールとして動作させていることが 多いので、これが使えないケースが多々あります。 他には、system関数などでシステムコールを行い、 など & を使って実行するという方法もありますが、 これもphpCGI版として実行できなければいけません。 システムコールで呼ぶプログラムをPerlなどで 書けばいいのですが、できればPHPで全部統一したいものです。

    shimooka
    shimooka 2009/09/24
    curl_multiを使って擬似マルチスレッド
  • GNU Pthを使って、PHPでユーザスレッドを実現する - moriyoshiの日記

    のをやってみた。もうちょっと作り込んでから、と思ったけど、まあまあまともに動くので先に公開。 次のようなスクリプトがさくさく動いちゃうよ! <?php function echoing($fd) { echo "connection established\n"; while (!feof($fd)) { fwrite($fd, fgets($fd)); } fclose($fd); echo "connection closed\n"; } $ssock = stream_socket_server('tcp://127.0.0.1:8000'); assert($ssock !== false); for (;;) { $csock = stream_socket_accept($ssock); thread_create('echoing', $csock); fclose($cso

    GNU Pthを使って、PHPでユーザスレッドを実現する - moriyoshiの日記
  • 1