0

Rubyプロセスに2つのスレッドがあります私がやりたいことは、1 つをスリープ状態にし、もう 1 つをスリープ解除する信号を送信することです。

Mutex と ConditionalVariables でそれを行う方法は知っていますが、実行するクリティカル セクションがないため、適切な解決策ではありません。

私はスレッド停止とスレッド実行でそれを行う方法を知っています。スレッドはそれ自体を停止し、他の呼び出しはそれで実行されますが、今私が本当に探しているものです。

他の方法はありますか?私が達成しようとしているのは、データベース内のコンテンツをスレッドで待機させ、コンテンツがあるときに他のスレッドに通知させることです。

4

1 に答える 1

0

たぶん、このようなものがうまくいくでしょうか?

require "thread"

q = Queue.new

Thread.new do
  sleep 10
  q.push "*"
end

p q.pop
于 2013-05-21T15:15:06.593 に答える