release all waiting threads in .NET?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello,
I need to use the functionality of an AutoResetEvent in that it should
normally be non-signalled, but I want something to be able to release all the
waiting threads when I call Set, however AutoResetEvent.Set only releases one
thread.
ManualResetEvent isn't really appropriate because it should remain
non-signalled, i.e. when any thread calls WaitOne() it always needs to block
until 'nudged'.
Is ManualResetEvent.Set() immediately followed by ManaulResetEvent.Reset()
the only option?
I really want something like ManualResetEvent.Pulse(), but it doesn't exist.

Any ideas?
Thanks
 
Hello,
I need to use the functionality of an AutoResetEvent in that it should
normally be non-signalled, but I want something to be able to release all the
waiting threads when I call Set, however AutoResetEvent.Set only releases one
thread.
ManualResetEvent isn't really appropriate because it should remain
non-signalled, i.e. when any thread calls WaitOne() it always needs to block
until 'nudged'.
Is ManualResetEvent.Set() immediately followed by ManaulResetEvent.Reset()
the only option?
I really want something like ManualResetEvent.Pulse(), but it doesn't exist.

Any ideas?
Thanks

Sounds like you want something like Monitor.PulseAll()
 
Back
Top