From: Christian Kruse Date: 2002-02-27T01:22:37+09:00 Subject: Re: Newbie: How to WakeUp All Threads? Hello Rick, Tuesday, February 26, 2002, 5:05:42 PM, you wrote: > server = TCPServer.new('127.0.0.1',5190) > while > Thread.new(session = server.accept) {|mySession| > while mySession > #do all my business > sleep > end > } > end > Except I am looking for way to do this: > 1) Let's say 5 clients arrive, that would mean there are now 5 > sleeping threads, correct? Yes. That's correct. > 2) The sixth client arrives and triggers an event. On that event how > do I wake up all 5 sleeping threads? Perhaps with code something like that: require "socket" threads = ThreadGroup.new; server = TCPServer.new('127.0.0.1',5190) while Thread.new(session = server.accept) {|mySession| threads.add(mySession) while mySession #do all my business if event_triggered then do threads.list.foreach do |thread| thread.kill end end sleep end } end -- Best regards, Christian mailto:ckruse@wwwtech.de