タグ

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

タグの絞り込みを解除

multithreadingに関するquanonのブックマーク (1)

  • 【Ruby】マルチスレッドの基本 : あんちょこ

    現在のところ(Ruby3.0)、Rubyはネイティブスレッドを1つしか利用することはできない。それゆえ、CPUのマルチコア性能を活かす目的でThreadは使えない。そちらの目的ではProcessを使う必要がある。Rubyでマルチスレッドプログラミングをする主な目的は非同期のイベント処理やI/O待ち時間の緩和だろう。このとき、最低限抑えておかないといけないのがThreadとQueueだ。Threadクラスがスレッドの生成・分岐と合流を担うのは理解しやすいが、Queueはやや分かりにくい。これはスレッド間で共通の処理対象を保管するスタックのように使う。Queueに積みあがった処理対象をThreadが順番に取っていきながら処理を進めるイメージである(図参照)。 では、さっそく使用例を見てもらおう。0から1のランダムな少数の配列を3つのスレッドで順番に処理していくという単純なものだ。ただし、数字の

    【Ruby】マルチスレッドの基本 : あんちょこ
  • 1