質問: データの計算結果 sleep(0.01) } end #Main処理 loop{ if answer > 100 #一定値以上 #一定値以上の場合にする処理 end sleep(0.001) } #0.001秒毎にループを回しているのでCPUの使用量が上がってしまう。 #計算結果にリアルタイムに反応したいためsleepは0.001にしている ``` 追記 threadはその後も動かし続ける必要があるので、Threadがdeadしたかによって判断するのではなく、別の方法があると助かります。
回答: `Thread.stop` `Thread#run`もしくは`Thread#wakeup` を使うのはどうでしょうか? ``` count = 0 thr = Thread.new do Thread.stop until count > 100 puts count end while count < 1000 sleep(0.001) count += 1 thr.wakeup if thr.alive? end ```