タグ

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

タグの絞り込みを解除

Rubyとthreadに関するrochefortのブックマーク (4)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Ruby1.9を試すその1 - ネイティブスレッド - kaeruspoon

    Ruby1.9からThreadがネイティブスレッドを使うようになります。といっても、VMレベルでロックされるようなので、同時に実行されるスレッドは常にひとつです。ただし、IO関連のブロック機能を備えたシステムコールは同時に実行されるようです。 以下のような簡単なIOテストを実行してみました。 require 'benchmark' threads = [] Benchmark.bm do |x| x.report do 1000.times do |i| threads << Thread.new(i) do |t_i| File.open("#{t_i}.count", "w") do |f| 1000.times {|i| f.puts i} end end end end end threads.each {|t| t.join} [tsukasa@ubuntu] $ ruby1.8

  • はじめての並行プログラミング(1) - I am Cruby!

    第53回 社内勉強会に使用したテキストファイル「はじめての並行プログラミング(1)」 今回話すことスレッド? 並行プログラミングの難しさ 複数の仕事を同時に『並行プログラミング』とあるプログラムで何かの処理を同時におこないたい 方法は大きく分けて二つプロセススレッド(軽量プロセス)※ スレッド in プロセス の関係。プロセスとスレッドの違い(簡単に言えば)プロセスは「資源を共有しない」。スレッドは「資源を共有する」。スレッドが共有するもの メモリアドレス空間、ファイルハンドルなどスレッドが共有しないもの プログラムカウンタ、スタック、ローカル変数スレッドを使うメリットよいとこ 一つのプロセス内で並行処理が可能 非同期な処理とか 起動も低コスト データの同期が低コスト グローバル変数で受け渡しなどわるいところ 共有データの扱いが難しい(超重要)スレッドの安全性(safety)スレッドセーフ

  • Rubyでマルチスレッドプログラミング « BPS株式会社 開発ブログ Beyond Perspective Solutions LTD.

    伊藤です。 RubyはWeb界隈でよく使われてるスクリプト言語の中では比較的簡単に割と格的なマルチスレッドプログラムを書くことができます。 うまく使うとI/O待ちで遅くなっているが、必ずしも順番に行う必要のないプログラムの実行時間を短縮したりすることができます。(たくさんのURLにアクセスしてレスポンスを取得してくるクロウラーなど) しかし現在最も広く使われているRuby1.8ではスレッドの実装はいわゆるグリーンスレッドという実装で、OSによるスレッドを使えないため、マルチコアの恩恵を受けることができないので、大量のデータをマルチコアで処理する目的などで使っても効果が薄い(どころかまったくない)可能性が高いです。 Ruby1.9ではRubyでスレッドの動きを制御しているものの、ネイティブスレッドベースでの動作となっているため、マルチコアの恩恵を受けることができます。 それではさっそ

    rochefort
    rochefort 2010/10/03
    おお、凄く参考になる。ああMutexを使ってなかったらからか...
  • 1