1
如果我有這樣的:不停止調度線程?
require 'xmpp4r' # xmpp4r is a ruby library for xmpp.
xmppobject.add_meessage_callback { |m|
# do something with |m|
}
Thread.stop
,主線程處於睡眠狀態,然後才由回調啓動線程繼續運行。
但是,如果我有這樣的事情:
require 'xmpp4r'
class Foo::App::Bar < Foo::App::Baz
def method1
xmppobject.add_message_callback { |m|
# do something with |m|
}
end
end
,其中屬於富::應用程序的主線程必須是應用程序始終運行工作,我不能做一個使用Thread.stop在它上面,因此來自回調的線程不能完成它的工作。
這是在jruby上,我對irc的建議:1)使用纖維或2)條件變量。有人提到纖維不完全適合在這裏。我剛剛開始使用線程(任何類型),因此將不勝感激這方面的任何建議。