Skip to content

Commit e9bea02

Browse files
committed
[Modify] Polish it
1 parent 6ff198c commit e9bea02

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

Example1/Notifier.cs

+9-7
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ namespace Example1
1111
internal class Notifier : IDisposable
1212
{
1313
private volatile bool _enabled;
14+
private ManualResetEvent _exited;
1415
private Queue<NotificationMessage> _queue;
1516
private object _sync;
16-
private ManualResetEvent _waitHandle;
1717

1818
public Notifier ()
1919
{
2020
_enabled = true;
21+
_exited = new ManualResetEvent (false);
2122
_queue = new Queue<NotificationMessage> ();
2223
_sync = ((ICollection) _queue).SyncRoot;
23-
_waitHandle = new ManualResetEvent (false);
2424

2525
ThreadPool.QueueUserWorkItem (
2626
state => {
@@ -40,8 +40,9 @@ public Notifier ()
4040
}
4141
}
4242

43-
_waitHandle.Set ();
44-
});
43+
_exited.Set ();
44+
}
45+
);
4546
}
4647

4748
public int Count {
@@ -60,15 +61,16 @@ private NotificationMessage dequeue ()
6061
public void Close ()
6162
{
6263
_enabled = false;
63-
_waitHandle.WaitOne ();
64-
_waitHandle.Close ();
64+
_exited.WaitOne ();
65+
_exited.Close ();
6566
}
6667

6768
public void Notify (NotificationMessage message)
6869
{
69-
lock (_sync)
70+
lock (_sync) {
7071
if (_enabled)
7172
_queue.Enqueue (message);
73+
}
7274
}
7375

7476
void IDisposable.Dispose ()

0 commit comments

Comments
 (0)