プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Ruby1.9、スレッドあれこれ
おぉ、Rubyさんではマルチスレッドが使えるのですね。
これは嬉しいカモー\(^O^)/

っつーわけで使い方メモφ(--)

※自分用のメモなので随時追記していきます。

・スレッドの開始
  th = Thread.new { 
      # スレッド内の処理
      puts "hoge"
  }



・スレッドの停止
  th = Thread.new { 
      puts "hoge"
  
      #スレッドの停止
      
Thread.stop
  
      puts "hoge2"
  }



・スレッドの再開
  th = Thread.new { 
      puts "hoge"
      Thread.stop
      puts "hoge2"
  }
  
  #スレッドの再開
  
th.run


・スレッドの中断
  th = Thread.new { 
      puts "hoge"
      Thread.stop
      puts "hoge2"
  }
  
  #スレッドの中断
  
Thread.kill(th)


・スレッドの終了待ち
  th = Thread.new { 
      puts "hoge"
  }
  
  #スレッドが終わるまで待機
  
th.join


・スレッドのロック
  require "thread"
  
  #Mutexオブジェクト生成

  mtx = Mutex.new
  
  th1 = Thread.new{
      #ロックしまーす
      #既にロックされてる場合は解除されるまで待ちまーす
      
mtx.lock
  
      #あれやこれやの処理
  
      #ロック解除
      
mtx.unlock
  }
  
  th2 = Thread.new{
      #ロックしまーす
      #既にロックされてる場合は解除されるまで待ちまーす
      
mtx.lock
  
      #あれやこれやの処理
  
      #ロック解除
      
mtx.unlock
  }
  
  th1.join
  th2.join
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● Ruby  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事